| Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
| 36477 |
15 h 24 m |
amit |
/trunk/ |
Invoice return: IRN/EWB cancellation on approve, Logistics L2+ permission, DL GST disabled
- approveInvoiceReturn now cancels IRN+EWB when cancellable (path B) before falling back to Credit Note (path A)
- DC/challan EWB cancelled best-effort before Credit Note path
- Added enabled flag to GstEInvoiceUser; DL GSTIN disabled in E_INVOICE_USERS and EWB_USERS
- isGstEnabled guard added to all public GST API methods in GstProService
- Logistics L2+ can now approve/reject invoice returns (not just Finance)
- invoice-return.vm uses canApproveInvoiceReturn for INV-prefix button visibility |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProAuthService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/api/model/GstEInvoiceUser.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm
|
| 36468 |
1 d 19 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
fix NPE in downloadPriceCircularReport: skip internal vendors and missing catalog items |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/VendorController.java
|
| 36464 |
1 d 22 h |
amit |
/trunk/ |
Add vendor pricing changes Excel download report on Vendor Price Circular page. Flat file with Vendor/Date/Model/CatalogId/TP/DP/MOP columns, filterable by vendor. Shows baseline pricing as of start date plus subsequent TP changes within period for all non-internal suppliers. |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/inventory/VendorCatalogPricingLog.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/VendorCatalogPricingLogRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/VendorCatalogPricingLogRepositoryImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/VendorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/vendor-price-circular.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/vendor-catalog.js /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/V2FofoVendorController.java
|
| 36454 |
3 d 16 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Add request/response logging to refundDebitNote endpoint |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java
|
| 36447 |
4 d 11 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 |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js
|
| 36442 |
4 d 21 h |
amit |
/trunk/profitmandi-fofo/src/ |
Rename monitor type 'normal' to 'base' in controller, validator, UI, and tests |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PlacementPlanController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidator.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan-details.vm /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/placement-plan.js /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/controller/PlacementPlanControllerUploadTest.java /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidatorTest.java /trunk/profitmandi-fofo/src/test/resources/catalog_monitor_type_10rows.csv
|
| 36436 |
5 d 17 h |
ranu |
/trunk/ |
without vendor catalog pricing po will not create |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/RbmPerformanceDashboardModel.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/today_po_rbm.vm
|
| 36435 |
5 d 22 h |
aman |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Fix:Mark Inauguration Timestamp & Create Store Timeline Entry on Training Completion |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java
|
| 36419 |
7 d 17 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/digify/ |
OkHttp→HttpClientFactory migration for Digify controller |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/digify/DigifyController.java
|
| 36412 |
7 d 21 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Added Rising Star/NEW |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PlacementPlanController.java
|
| 36411 |
7 d 22 h |
amit |
/trunk/ |
Fix lock contention: REQUIRES_NEW for wallet lock in createLoanForBilling, handle HDFC payment deadlock as duplicate |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java
|
| 36408 |
8 d 15 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). |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties /trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js
|
| 36404 |
8 d 20 h |
amit |
/trunk/profitmandi-fofo/src/ |
Add catalog monitor type upload, sample sheet, Placement Plan UI tagging (orange/yellow), Today PO csv column, placement-plan-statement.xlsx header coloring |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidator.java /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/controller /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/controller/PlacementPlanControllerUploadTest.java /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/util /trunk/profitmandi-fofo/src/test/java/com/spice/profitmandi/web/util/CatalogMonitorTypeCsvValidatorTest.java /trunk/profitmandi-fofo/src/test/resources/catalog_monitor_type_10rows.csv
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ContentController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PlacementPlanController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan-details.vm /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/placement-plan.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/placement-plan.js
|
| 36401 |
8 d 20 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/InventoryController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoiFormController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PartnerOnBoardingPanelController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/RefferalController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SDCreditController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/WalletController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java
|
| 36394 |
8 d 21 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
Add IMEI net-margin modal on order-index billing panel.
New /getImeiNetMarginModal endpoint: given an IMEI, derives the
purchase-billed date from the IMEI's purchase order
(InventoryItem.purchaseId -> Purchase.purchaseReference -> Order.billingTimestamp),
fetches schemes applicable on that date via PriceCircular, and shows
per-scheme contribution, NLC, and net margin in a slim modal.
Effective DP = inventory_item.unit_price - max(0, price_drop_amount)
to match SchemeServiceImpl.createSchemeInOut/PriceCircularService.getPayouts.
Offers are intentionally excluded. Per-IMEI price-drop history is
shown for reference. |
|
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/imei-net-margin-modal.vm /trunk/profitmandi-fofo/src/main/webapp/resources/js/imei-net-margin.js
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/OrderController.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/SchemeController.java /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/include-scripts.vm /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/order-index.vm
|
| 36392 |
8 d 23 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/ |
login talktime hours cap on 100% |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java
|
| 36384 |
11 d 17 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
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). |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/GlobalExceptionHandler.java
|
| 36373 |
11 d 22 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/ |
login talktime hours cap on 100% |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java
|
| 36371 |
11 d 23 h |
amit |
/trunk/ |
HDFC webhook: INSERT IGNORE on hdfc_payment to fix concurrent-duplicate 500 storm
Replaces persist() with a native INSERT IGNORE so concurrent same-UTR webhook
retries serialize on the unique-index check, and the loser gets a 0-row no-op
(warning, not exception). Outer @Transactional session stays clean, Spring
commits normally, HDFC sees 200 on both the winner (Success) and the loser
(Duplicate) - retry amplification ends.
Flow:
persist(hdfcPayment) -> insertIgnore(hdfcPayment) + selectByUtrNo(utr)
- inserted == 1: proceed with wallet / sidbi side-effects using fetched id
- inserted == 0: respond Duplicate, skip side-effects (owned by winning tx)
- defensive: log warn if insertIgnore returned 0 but selectByUtrNo finds
no row (could mean IGNORE swallowed a non-duplicate issue like truncation)
Also drops HdfcProcessingHelper (r36366) which used REQUIRES_NEW for the same
goal; that approach required a second JDBC connection and is no longer needed
with SQL-level idempotency.
Does NOT touch the wallet-side lost-update hole (user_wallet read-modify-write
without FOR UPDATE). That is a separate commit. |
|
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/HdfcProcessingHelper.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/HdfcPaymentRepository.java /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/HdfcPaymentRepositoryImpl.java /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java
|
| 36370 |
12 d 11 h |
vikas |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Fix: App login |
|
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/LoginController.java
|