<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SmartDukaan &#x2013; /</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Wed, 06 May 2026 10:28:02 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2F&amp;max=40&amp;peg=36419</link><atom:link href="https://svn.smartdukaan.com/rss.php?peg=36419&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Tue, 28 Apr 2026 18:18:01 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36419 – OkHttp→HttpClientFactory migration for Digify controller</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;OkHttp→HttpClientFactory migration for Digify controller&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/digify/DigifyController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36419&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36419&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 18:17:56 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36418 – OkHttp→Apache HttpClient migration. HyperTrackController/TrackingController now use RestClient, DB reads extracted ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;OkHttp→Apache HttpClient migration. HyperTrackController/TrackingController now use RestClient, DB reads extracted to HyperTrackService to release connections before external HTTP calls. V2FofoDigifyController uses HttpClientFactory.&lt;/div&gt;~ /trunk/profitmandi-web/build.gradle&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/HyperTrackController.java&lt;br /&gt;+ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/HyperTrackService.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/TrackingController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoDigifyController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36418&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36418&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 18:17:53 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36417 – Fix:PO item swap — update/delete old PURCHASE scan record when ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:PO item swap — update/delete old PURCHASE scan record when reducing quantity on swapped inventory item&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PurchaseOrderServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36417&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36417&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 18:17:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36416 – Drop OkHttp, standardise on Apache HttpClient via HttpClientFactory. RestClient pool ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Drop OkHttp, standardise on Apache HttpClient via HttpClientFactory. RestClient pool raised to 20/8, all construction routed through factory. Lint guard added to block direct OkHttp/createDefault usage.&lt;/div&gt;~ /trunk/profitmandi-common/build.gradle&lt;br /&gt;+ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/web/client/HttpClientFactory.java&lt;br /&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/web/client/RestClient.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36416&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36416&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 17:22:39 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36415 – GstProService: cancel EWB before IRN in within-24h cancellation  NIC ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;GstProService: cancel EWB before IRN in within-24h cancellation&lt;br /&gt;
&lt;br /&gt;
NIC rejects IRN cancellation with &apos;This IRN cannot be cancelled because&lt;br /&gt;
e-way bill has been generated&apos; when an EWB is still active against the&lt;br /&gt;
invoice. Existing within-24h branch went straight to cancelIrn and hit&lt;br /&gt;
this rejection on every cancellation that had a generated EWB.&lt;br /&gt;
&lt;br /&gt;
Mirror the DC branch&apos;s EWB-cancel pattern: when eInvoiceDetails.ewbNo is&lt;br /&gt;
non-null, resolve sellerGstin (prod gstin / sandbox), parse ewbNo, call&lt;br /&gt;
cancelEwb first, then proceed to cancelIrn. EWB-cancel is wrapped in&lt;br /&gt;
try/catch + WARN — already-cancelled EWBs (transient or manual) don&apos;t&lt;br /&gt;
block the IRN cancel that follows; a genuinely-active EWB still surfaces&lt;br /&gt;
via the IRN cancel error.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36415&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36415&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 16:48:05 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36414 – without vendor catalog pricing po will not create</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;without vendor catalog pricing po will not create&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PurchaseOrderServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36414&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36414&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 13:31:20 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36413 – Added Rising Star/NEW</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Added Rising Star/NEW&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/MonitorType.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36413&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36413&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 13:31:11 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36412 – Added Rising Star/NEW</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Added Rising Star/NEW&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PlacementPlanController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36412&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36412&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 13:28:23 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36411 – Fix lock contention: REQUIRES_NEW for wallet lock in createLoanForBilling, handle ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix lock contention: REQUIRES_NEW for wallet lock in createLoanForBilling, handle HDFC payment deadlock as duplicate&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36411&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36411&amp;peg=36419</guid></item>
<item><pubDate>Tue, 28 Apr 2026 12:11:20 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36410 – Added Rising Star/NEW</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Added Rising Star/NEW&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/MonitorType.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36410&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36410&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 19:57:10 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36409 – V2 REST: mirror INV reject endpoint + restore !isShipped guard ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;V2 REST: mirror INV reject endpoint + restore !isShipped guard&lt;br /&gt;
&lt;br /&gt;
/return/invoice/reject/{proId} — REST sibling of the fofo controller&apos;s&lt;br /&gt;
new endpoint. Finance-role-gated, requires non-blank rejectRemark.&lt;br /&gt;
&lt;br /&gt;
/return/invoice/process — autoApprove now isIrnCancellable &amp;&amp; !isShipped,&lt;br /&gt;
matching the fofo controller. Shipped goods route through manual approval&lt;br /&gt;
even within 24h.&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoPurchaseReturnController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36409&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36409&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 19:57:02 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36408 – Sale-return reversal: controller wiring + UI for cancellability gate + ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale-return reversal: controller wiring + UI for cancellability gate + INV reject + date filter&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnController:&lt;br /&gt;
  /return/invoice/process — autoApprove now isIrnCancellable &amp;&amp; !isShipped.&lt;br /&gt;
    !isShipped guard restored: shipped goods route through manual approval&lt;br /&gt;
    even within 24h, so the physical return goes through CN flow.&lt;br /&gt;
  /return/invoice/reject/{proId} — new endpoint for finance to reject a&lt;br /&gt;
    pending INV PRO (sale stands, no inventory/wallet/GST action).&lt;br /&gt;
  /return/invoice — date filter (fromDate/toDate query params, default&lt;br /&gt;
    last 30 days) backed by selectByWarehouseIdsAndDateRange. Limit&lt;br /&gt;
    bumped to 200 to accommodate longer ranges.&lt;br /&gt;
  receive-debit-note view — passes $requiresFinanceApproval so the&lt;br /&gt;
    template can render the finance-approval banner when DN&apos;s IRN is&lt;br /&gt;
    past the 24h window.&lt;br /&gt;
&lt;br /&gt;
invoice-return.vm:&lt;br /&gt;
  Added From/To date inputs + Apply button.&lt;br /&gt;
  Added Reject button next to Approve &amp; Refund for pending INV PROs.&lt;br /&gt;
&lt;br /&gt;
receive-debit-note.vm:&lt;br /&gt;
  Added one informational banner (#if $requiresFinanceApproval) above&lt;br /&gt;
  the receipt form. No layout / JS / submit-URL change.&lt;br /&gt;
&lt;br /&gt;
return.js:&lt;br /&gt;
  #invoice-return-date-apply handler — POSTs the selected range to&lt;br /&gt;
  /return/invoice and refreshes the table.&lt;br /&gt;
  .reject-invoice-return handler — prompts for reason, calls the new&lt;br /&gt;
  reject endpoint.&lt;br /&gt;
&lt;br /&gt;
dev/staging/prod.properties: feature flag finance.receipt.approval.email.enabled&lt;br /&gt;
(default false, flip per env when mail infra is ready).&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36408&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36408&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 19:54:23 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36407 – Sale-return reversal: cancellability gate, CN on approve, INV reject, ROI ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale-return reversal: cancellability gate, CN on approve, INV reject, ROI semantics&lt;br /&gt;
&lt;br /&gt;
GstProService.isIrnCancellable(invoiceNumber): predicate extracted from&lt;br /&gt;
the inline 24h check used in cancelInvoiceGst, so callers outside the&lt;br /&gt;
service can decide branching without duplicating the rule. DC and no-IRN&lt;br /&gt;
cases return false — those paths use EWB cancel / credit-note issuance.&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnServiceImpl: split single-phase return-receive into&lt;br /&gt;
submitReceiptForApproval + applyReceipt. Submit persists per-item return&lt;br /&gt;
type on PurchaseReturnItem so apply (called inline on auto-approve, or&lt;br /&gt;
later from refundOrder when finance clicks Process Refund) can replay&lt;br /&gt;
the scan loop without the original itemReturnTypes map.&lt;br /&gt;
&lt;br /&gt;
processInvoiceReturn(autoApprove=true) no longer creates a PRO. Routes&lt;br /&gt;
through new cancelInvoiceFully which calls gstProService.cancelInvoiceGst&lt;br /&gt;
(the canonical IRN-cancel path setting Order.status=INVOICE_CANCELLED)&lt;br /&gt;
and adds wallet credit + warehouse-stock restoration. Cancellations now&lt;br /&gt;
live on Order/EInvoiceDetails screens, not in the returns ledger —&lt;br /&gt;
matches standard ERP practice and the existing cancelInvoiceGst flow.&lt;br /&gt;
&lt;br /&gt;
processInvoiceReturn(autoApprove=false) creates an INV-prefix PRO in&lt;br /&gt;
pending state and calls notifyFinanceApprovalPending (Finance L1+L2&lt;br /&gt;
emails resolved dynamically from PositionRepository).&lt;br /&gt;
&lt;br /&gt;
approveInvoiceReturn now runs applyInvoiceReturnViaCreditNote — raises&lt;br /&gt;
local CreditNote + CreditNoteLine rows (sequential CN# from&lt;br /&gt;
SellerWarehouse), issues CRN at GST via generateCreditNoteIrn, restores&lt;br /&gt;
warehouse stock, populates ReturnOrderInfo (this path IS a customer&lt;br /&gt;
return without DN — ROI is the right anchor), credits wallet. Drops the&lt;br /&gt;
old applyInvoiceReturnEffects helper which mishandled both cancel and&lt;br /&gt;
return-via-CN as the same path.&lt;br /&gt;
&lt;br /&gt;
rejectInvoiceReturn: new method for finance to reject pending INV PROs.&lt;br /&gt;
Sale stands — only stamps reject_timestamp/reject_remark. No inventory,&lt;br /&gt;
no wallet, no GST action, no ROI. Closes the gap where finance had&lt;br /&gt;
Approve as the only option on a pending INV PRO.&lt;br /&gt;
&lt;br /&gt;
refundOrder gains a refund guard (PRO must exist, not refunded, not&lt;br /&gt;
rejected) and applyReceipt-if-needed at the top — Finance&apos;s existing&lt;br /&gt;
Process Refund button now drives approve+refund atomically.&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnOrderRepository.selectByWarehouseIdsAndDateRange: Hibernate&lt;br /&gt;
query for a date-range listing on /return/invoice (default last 30&lt;br /&gt;
days, limit 200).&lt;br /&gt;
&lt;br /&gt;
@Transactional(rollbackFor=Exception.class) at class level —&lt;br /&gt;
ProfitMandiBusinessException is checked, so Spring&apos;s default rollback&lt;br /&gt;
didn&apos;t fire on guard failures, allowing partial commits. Closing that&lt;br /&gt;
silently broken behaviour.&lt;br /&gt;
&lt;br /&gt;
LineItemImei N+1 fix: receiveDebitNoteItems / refundOrder / rejectReturn&lt;br /&gt;
each iterated orders calling selectByLineItemId per row. Switched to the&lt;br /&gt;
existing batch selectByLineItemIds(List).&lt;br /&gt;
&lt;br /&gt;
Email template finance-receipt-approval-pending.vm and SQL migration&lt;br /&gt;
migration_imei_net_margin_modal_api.sql added (registers the&lt;br /&gt;
/getImeiNetMarginModal endpoint in dtr.api and grants access to the&lt;br /&gt;
roles that currently access /order).&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/PurchaseReturnOrderRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/PurchaseReturnOrderRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/finance-receipt-approval-pending.vm&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_imei_net_margin_modal_api.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36407&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36407&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 17:43:00 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36406 – Add scheme_item windowing migration script.  Migrates fofo.scheme_item from composite ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add scheme_item windowing migration script.&lt;br /&gt;
&lt;br /&gt;
Migrates fofo.scheme_item from composite (scheme_id, catalog_id) PK to&lt;br /&gt;
surrogate id BIGINT, adds audit columns, swaps the old uniqueness to&lt;br /&gt;
the 4-column window key, adds a date-driven lookup index, and installs&lt;br /&gt;
BEFORE INSERT/UPDATE triggers that enforce start&amp;lt;=end, containment in&lt;br /&gt;
parent scheme window, and non-overlap within (catalog_id, scheme_id).&lt;br /&gt;
&lt;br /&gt;
Step 4b drops the legacy UNIQUE scheme_catalog (scheme_id, catalog_id);&lt;br /&gt;
without this the windowing feature is functionally blocked.&lt;br /&gt;
&lt;br /&gt;
Applied on hadb1 in this revision.&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/migration_scheme_item_windowing.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36406&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36406&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 17:41:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36405 – Fix duplicate SchemeInOut on concurrent GRN: SELECT FOR UPDATE on ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix duplicate SchemeInOut on concurrent GRN: SELECT FOR UPDATE on inventory_item before createSchemeInOut to serialise concurrent GRN calls per IMEI&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/InventoryItemRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/InventoryItemRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36405&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36405&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:58:30 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36404 – Add catalog monitor type upload, sample sheet, Placement Plan UI ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 13 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add catalog monitor type upload, sample sheet, Placement Plan UI tagging (orange/yellow), Today PO csv column, placement-plan-statement.xlsx header coloring&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ContentController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PlacementPlanController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidator.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/placement-plan.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/controller&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/controller/PlacementPlanControllerUploadTest.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/util&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidatorTest.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/test/resources/catalog_monitor_type_10rows.csv&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36404&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36404&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:57:42 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36403 – Add catalog.catalog_monitor_type table, entity, and repository for per-catalog focused/normal monitor ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add catalog.catalog_monitor_type table, entity, and repository for per-catalog focused/normal monitor type tagging&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/CatalogMonitorType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/MonitorType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/CatalogMonitorTypeRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/CatalogMonitorTypeRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/catalog_monitor_type.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36403&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36403&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:53:33 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36402 – Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/migrations/RunOnceTasks.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/OnBoardingRelatedSchelduleTask.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/razorpay/FetchPartnersDisbursementTask.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/Reconciliation.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasks.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ScheduledTasksTest.java&lt;br /&gt;~ /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/TicketRelatedScheduledTask.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36402&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36402&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:53:25 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36401 – Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked</title><description>&lt;div&gt;&lt;strong&gt;amit – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/InventoryController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/RefferalController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SDCreditController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36401&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36401&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:53:17 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36400 – Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked</title><description>&lt;div&gt;&lt;strong&gt;amit – 14 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/checkout/OrderController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ContactUsController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/InsuranceController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/LeadController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/SupportController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/TicketChatActivityController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/UserController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/WalletController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoHdfcPaymentController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoInventoryController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoLoiFormController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoPartnerOnBoardingPanelController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoRefferalController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoWalletController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36400&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36400&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:52:32 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36399 – Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/BidServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/LocationTrackingServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/OtpProcessor.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/TrialServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/AuthServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/CustomerServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/EmailService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/mail/MailOutboxService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/BulkOrderService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PerformanceServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/scheduled/SDCreditScheduler.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreTimelineTatServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/UserServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PurchaseOrderServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36399&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36399&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:52:21 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36398 – Replace mailSender (SendGrid) with gmailRelaySender across all modules - SendGrid ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender across all modules - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/services/EmailServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36398&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36398&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:38:57 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36397 – Scheme item windowing: add startDate/endDate per scheme_item.  Each fofo.scheme_item ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Scheme item windowing: add startDate/endDate per scheme_item.&lt;br /&gt;
&lt;br /&gt;
Each fofo.scheme_item row now carries an optional [start_date, end_date]&lt;br /&gt;
window so the same (scheme_id, catalog_id) pair can be applicable for&lt;br /&gt;
different date ranges. Backward compatible: NULL window = always active.&lt;br /&gt;
&lt;br /&gt;
- SchemeItem entity: composite (schemeId, catalogId) PK -&gt; surrogate&lt;br /&gt;
  long id (IDENTITY), unique (catalog_id, scheme_id, start_date, end_date),&lt;br /&gt;
  audit cols (updatedBy, updatedOn).&lt;br /&gt;
- Scheme + TagListing named queries: gated by&lt;br /&gt;
  &apos;(si.start_date is null or :onDate between si.start_date and si.end_date)&apos;.&lt;br /&gt;
- SchemeItemRepository: + selectById, selectBySchemeId,&lt;br /&gt;
  existsOverlapping (half-open, with self-exclude), selectItemsOutsideWindow.&lt;br /&gt;
- SchemeService: + updateSchemeItemWindow / addSchemeItemWithDates /&lt;br /&gt;
  clampSchemeItems with containment + overlap validation; drop dead&lt;br /&gt;
  getTotalMargin.&lt;br /&gt;
- SchemeServiceImpl.processSchemeOut: pin scheme resolution to each&lt;br /&gt;
  IMEI&apos;s GRN billing date (Purchase -&gt; Order.billingTimestamp via&lt;br /&gt;
  PurchaseService.getBillingDateOfPurchase) instead of fofoOrder&lt;br /&gt;
  createTimestamp, aligning OUT with the existing IN behaviour.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/Scheme.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/catalog/TagListing.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/SchemeItem.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/SchemeItemRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/fofo/SchemeItemRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/SchemeServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36397&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36397&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:38:44 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36396 – Scheme item windowing: add startDate/endDate per scheme_item.  Each fofo.scheme_item ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Scheme item windowing: add startDate/endDate per scheme_item.&lt;br /&gt;
&lt;br /&gt;
Each fofo.scheme_item row now carries an optional [start_date, end_date]&lt;br /&gt;
window so the same (scheme_id, catalog_id) pair can be applicable for&lt;br /&gt;
different date ranges. Backward compatible: NULL window = always active.&lt;br /&gt;
&lt;br /&gt;
Also pins processSchemeOut scheme resolution to each IMEI&apos;s GRN&lt;br /&gt;
billing date (Purchase -&gt; Order.billingTimestamp via&lt;br /&gt;
PurchaseService.getBillingDateOfPurchase) instead of fofoOrder&lt;br /&gt;
createTimestamp, aligning OUT with the existing IN behaviour.&lt;br /&gt;
&lt;br /&gt;
Common DTO: SchemeItems gains startDate/endDate fields.&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/SchemeItems.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36396&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36396&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:36:06 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36395 – login talktime  hours cap on 100%</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;login talktime  hours cap on 100%&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmPerformanceDashboardModel.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36395&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36395&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:14:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36394 – Add IMEI net-margin modal on order-index billing panel.  New ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add IMEI net-margin modal on order-index billing panel.&lt;br /&gt;
&lt;br /&gt;
New /getImeiNetMarginModal endpoint: given an IMEI, derives the&lt;br /&gt;
purchase-billed date from the IMEI&apos;s purchase order&lt;br /&gt;
(InventoryItem.purchaseId -&gt; Purchase.purchaseReference -&gt; Order.billingTimestamp),&lt;br /&gt;
fetches schemes applicable on that date via PriceCircular, and shows&lt;br /&gt;
per-scheme contribution, NLC, and net margin in a slim modal.&lt;br /&gt;
&lt;br /&gt;
Effective DP = inventory_item.unit_price - max(0, price_drop_amount)&lt;br /&gt;
to match SchemeServiceImpl.createSchemeInOut/PriceCircularService.getPayouts.&lt;br /&gt;
Offers are intentionally excluded. Per-IMEI price-drop history is&lt;br /&gt;
shown for reference.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OrderController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SchemeController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/resources/js/imei-net-margin.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/imei-net-margin-modal.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/include-scripts.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/order-index.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36394&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36394&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 13:23:35 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36393 – Fix:Update contact-us list</title><description>&lt;div&gt;&lt;strong&gt;aman – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix:Update contact-us list&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/contact-us.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36393&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36393&amp;peg=36419</guid></item>
<item><pubDate>Mon, 27 Apr 2026 12:26:38 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36392 – login talktime  hours cap on 100%</title><description>&lt;div&gt;&lt;strong&gt;ranu – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;login talktime  hours cap on 100%&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36392&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36392&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 19:47:40 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36391 – Feat:LocalDateTime fix for insurance</title><description>&lt;div&gt;&lt;strong&gt;aman – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Feat:LocalDateTime fix for insurance&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/V2OrderController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36391&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36391&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 19:36:48 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36390 – Feat:LocalDateTime fix for insurance</title><description>&lt;div&gt;&lt;strong&gt;aman – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Feat:LocalDateTime fix for insurance&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/V2OrderController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36390&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36390&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 19:21:46 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36389 – Feat:LocalDateTime fix for insurance</title><description>&lt;div&gt;&lt;strong&gt;aman – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Feat:LocalDateTime fix for insurance&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/V2OrderController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36389&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36389&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 19:18:29 +0530</pubDate><dc:creator>aman</dc:creator><title>Rev 36388 – Feat:LocalDateTime fix for insurance</title><description>&lt;div&gt;&lt;strong&gt;aman – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Feat:LocalDateTime fix for insurance&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/V2OrderController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36388&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36388&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:31:25 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36387 – code commit for reports section v2</title><description>&lt;div&gt;&lt;strong&gt;ranu – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;code commit for reports section v2&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/InventoryServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoInventoryController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoReportsController.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/enumeration/PartnerReportType.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36387&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36387&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:22:41 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36386 – Revert r36385: drop DataIntegrityViolationException handler from profitmandi-web V1 and V2 ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Revert r36385: drop DataIntegrityViolationException handler from profitmandi-web V1 and V2 global exception handlers. Default DB-error translation is kept only in the FOFO module for now.&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/GlobalExceptionHandler.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/exception/V2GlobalExceptionHandler.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36386&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36386&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:05:32 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36385 – Add DataIntegrityViolationException handler to V1 GlobalExceptionHandler and V2GlobalExceptionHandler. Translates MySQL ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add DataIntegrityViolationException handler to V1 GlobalExceptionHandler and V2GlobalExceptionHandler. Translates MySQL truncation / duplicate / FK errors into HTTP 400 with a friendly message via the new DbErrorTranslator (V1 uses ResponseSender; V2 uses ApiResponse + ErrorDetail).&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/GlobalExceptionHandler.java&lt;br /&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/exception/V2GlobalExceptionHandler.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36385&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36385&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:05:29 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36384 – GlobalExceptionHandler: handle DataIntegrityViolationException via DbErrorTranslator so MySQL truncation / duplicate ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;GlobalExceptionHandler: handle DataIntegrityViolationException via DbErrorTranslator so MySQL truncation / duplicate / FK errors surface as HTTP 400 with a friendly ProfitMandiBusinessException payload (rendered by common.js badRequestAlert).&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/GlobalExceptionHandler.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36384&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36384&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:05:26 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36383 – Add DbErrorTranslator: translates Spring DataIntegrityViolationException (truncation / duplicate key / ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add DbErrorTranslator: translates Spring DataIntegrityViolationException (truncation / duplicate key / FK violation) into ProfitMandiBusinessException with prettified field label.&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/exception&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/exception/DbErrorTranslator.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36383&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36383&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 18:05:24 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36382 – Add DB_TRUNCATION / DB_DUPLICATE / DB_FK_VIOLATION / DB_CONSTRAINT response codes ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add DB_TRUNCATION / DB_DUPLICATE / DB_FK_VIOLATION / DB_CONSTRAINT response codes for the new DataIntegrityViolationException auto-translator.&lt;/div&gt;~ /trunk/profitmandi-common/src/main/resources/response-codes.properties&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36382&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36382&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 17:58:47 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 36381 – Dashboard API</title><description>&lt;div&gt;&lt;strong&gt;vikas – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Dashboard API&lt;/div&gt;~ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2HomeController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36381&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36381&amp;peg=36419</guid></item>
<item><pubDate>Fri, 24 Apr 2026 17:36:43 +0530</pubDate><dc:creator>vikas</dc:creator><title>Rev 36380 – Dashboard API</title><description>&lt;div&gt;&lt;strong&gt;vikas – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Dashboard API&lt;/div&gt;+ /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/response/AddMoneyPageResponse.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36380&amp;peg=36419</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2F&amp;isdir=1&amp;rev=36380&amp;peg=36419</guid></item>
</channel></rss>