Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
36403 8 d 19 h amit /trunk/profitmandi-dao/src/main/ Add catalog.catalog_monitor_type table, entity, and repository for per-catalog focused/normal monitor type tagging  
36402 8 d 19 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked  
36401 8 d 19 h amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked  
36400 8 d 19 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked  
36399 8 d 19 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked  
36398 8 d 19 h amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/services/ Replace mailSender (SendGrid) with gmailRelaySender across all modules - SendGrid API key expired/revoked  
36397 8 d 19 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Scheme item windowing: add startDate/endDate per scheme_item.

Each fofo.scheme_item row now carries an optional [start_date, end_date]
window so the same (scheme_id, catalog_id) pair can be applicable for
different date ranges. Backward compatible: NULL window = always active.

- SchemeItem entity: composite (schemeId, catalogId) PK -> surrogate
long id (IDENTITY), unique (catalog_id, scheme_id, start_date, end_date),
audit cols (updatedBy, updatedOn).
- Scheme + TagListing named queries: gated by
'(si.start_date is null or :onDate between si.start_date and si.end_date)'.
- SchemeItemRepository: + selectById, selectBySchemeId,
existsOverlapping (half-open, with self-exclude), selectItemsOutsideWindow.
- SchemeService: + updateSchemeItemWindow / addSchemeItemWithDates /
clampSchemeItems with containment + overlap validation; drop dead
getTotalMargin.
- SchemeServiceImpl.processSchemeOut: pin scheme resolution to each
IMEI's GRN billing date (Purchase -> Order.billingTimestamp via
PurchaseService.getBillingDateOfPurchase) instead of fofoOrder
createTimestamp, aligning OUT with the existing IN behaviour.
 
36396 8 d 19 h amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ Scheme item windowing: add startDate/endDate per scheme_item.

Each fofo.scheme_item row now carries an optional [start_date, end_date]
window so the same (scheme_id, catalog_id) pair can be applicable for
different date ranges. Backward compatible: NULL window = always active.

Also pins processSchemeOut scheme resolution to each IMEI's GRN
billing date (Purchase -> Order.billingTimestamp via
PurchaseService.getBillingDateOfPurchase) instead of fofoOrder
createTimestamp, aligning OUT with the existing IN behaviour.

Common DTO: SchemeItems gains startDate/endDate fields.
 
36395 8 d 19 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/ login talktime hours cap on 100%  
36394 8 d 19 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.
 
36393 8 d 20 h aman /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix:Update contact-us list  
36392 8 d 21 h ranu /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/ login talktime hours cap on 100%  
36391 11 d 14 h aman /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ Feat:LocalDateTime fix for insurance  
36390 11 d 14 h aman /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ Feat:LocalDateTime fix for insurance  
36389 11 d 14 h aman /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ Feat:LocalDateTime fix for insurance  
36388 11 d 14 h aman /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ Feat:LocalDateTime fix for insurance  
36387 11 d 15 h ranu /trunk/ code commit for reports section v2  
36386 11 d 15 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ 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.  
36385 11 d 15 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ 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).  
36384 11 d 16 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).  

Show All