| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 36340 |
12 h 41 m |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
Narrow downloadInvoice: release JDBC before PDF streaming + clean error codes
OrderManagementController has class-level @Transactional(rollbackFor=Throwable),
so every downloadInvoice request held a Hikari connection for the entire HTTP
response duration — including the PDF streaming phase over a user's (often
slow) mobile network. The endpoint is the #1 JDBC-slot holder in production.
- Method-level @Transactional(propagation = NOT_SUPPORTED) suspends the
class-level tx for this endpoint so no connection is held by default.
- A short read-only TransactionTemplate scopes the single SELECT (order lookup
by invoice number) inside its own tx. Connection returns to the pool as soon
as the SELECT commits; file streaming then runs without any JDBC session.
- Bounds-check orders.isEmpty() — 2 IndexOutOfBoundsException per log window
previously, now a clean 404 with message body.
- Invoice-not-yet-generated stops surfacing as a 500 with stack trace
(1,534 occurrences in yesterday's log = #1 noise source). Now a 404 with
'please retry shortly' JSON body. Saves log disk and error-budget. |
|
| 36299 |
5 d 8 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
GRN correction: surface autoApproved flag to UI
Controller returns {status, autoApproved} JSON; JS shows an
'auto-approved' message when the request bypasses approval, otherwise
the existing 'raised for approval' message. Pairs with dao r36298. |
|
| 36174 |
20 d 4 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
Fix OOS false positive for dummy serialized items in warehouse management
Serialized items without serial numbers (e.g. dummy items with bulk qty) were
always classified as out-of-stock because the ageing query requires
currentQuantity=1 and a serial number join. Added fallback to scan-based
availability check when ageing returns empty, so items with physical stock
correctly show as in-stock. |
|
| 36135 |
21 d 7 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
Include correction To Item IDs in itemMap so item names resolve in approval view |
|
| 36032 |
32 d 8 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
avaialble status multiple times coming it has been fix |
|
| 36031 |
32 d 9 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
grn not able todo so fixing it |
|
| 35943 |
48 d 5 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/ |
Reduce log noise: demote interceptor/cookie per-request INFO to DEBUG, demote large object dumps and loop logging to DEBUG, fix string concatenation in log statements |
|
| 35806 |
62 d 4 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
Add GRN correction controller, views, and JS. Fix XSS in correction detail template, add self-approval prevention, add null check on requestId |
|
| 35717 |
72 d 0 h |
amit |
/trunk/ |
Fix performance issues in PurchaseOrderController
- Replace supplierRepository.selectAll() with targeted selectBySupplierIds() in 2 endpoints
- Replace sellerRepository.selectAll() with new selectByIds() in 2 endpoints
- Add SellerRepository.selectByIds(List<Integer>) batch method
- Remove dead code: unused totalUnitPrice and totalPriceOfLineItem computations |
|
| 35716 |
72 d 0 h |
amit |
/trunk/ |
Refactor GrnController and PurchaseOrderController: extract business logic into focused services and fix N+1 query performance issues
- Create InvoiceService: invoice item CRUD, validation, vendor price matching
- Create GrnRequestService: GRN request lifecycle, mismatch resolution state machine
- Create DebitNoteService: debit note generation, PDF model building
- Move PO amendment logic from PurchaseOrderController to PurchaseOrderService
- Delegate generateDebitNote from PurchaseOrderServiceImpl to DebitNoteService
- Thin GrnController from ~1215 to ~717 lines, remove 15 unused autowired dependencies
- Thin PurchaseOrderController editPurchaseOrder from 40+ lines to 3 lines
Performance fixes:
- InvoiceServiceImpl.validateInvoiceDetail: batch item/vendor pricing/GST loading (4N+3 queries -> ~5)
- DebitNoteServiceImpl: batch item loading in buildDebitNotePdfModel and generateDebitNote
- GrnController.generateDebitNote: eliminate 2 redundant DB fetches
- Replace 3x supplierRepository.selectAll() with targeted selectBySupplierIds() |
|
| 35462 |
122 d 21 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Fix LockAcquisitionException: Use bulk partner type fetch in controllers
Use getTypesForFofoIds() bulk method to avoid N+1 queries in:
- IndentController
- PlacementPlanController
- OrderManagementController |
|
| 35458 |
123 d 4 h |
amit |
/trunk/ |
Revert @Transactional(readOnly=true) - keep @Transactional only at Controller level
Changes:
- profitmandi-web: Controllers use @Transactional(rollbackFor = Throwable.class) at class level, removed method-level @Transactional(readOnly = true)
- profitmandi-fofo: Controllers use @Transactional(rollbackFor = Throwable.class) at class level, removed method-level @Transactional
- profitmandi-dao: Removed @Transactional from services/repositories
Exceptions (called from interceptors, need own transaction):
- RoleManager: @Transactional(readOnly = true) - called from interceptor for auth
- PartnerTypeChangeServiceImpl.getBestPartner(): @Transactional - called from JWTUtil via interceptor
Fixed javax.transaction.Transactional to org.springframework.transaction.annotation.Transactional
Fixed rollbackOn to rollbackFor for Spring compatibility |
|
| 35395 |
126 d 23 h |
amit |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Fixed performance |
|
| 35173 |
193 d 5 h |
amit |
/trunk/ |
Added marked to bad |
|
| 35036 |
217 d 6 h |
ranu |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
warehouse null remove |
|
| 35029 |
217 d 9 h |
ranu |
/trunk/profitmandi-fofo/src/main/ |
warehouse order partner type wise |
|
| 35020 |
218 d 4 h |
ranu |
/trunk/profitmandi-fofo/src/main/ |
category display on warehouse billing dasboard |
|
| 34376 |
384 d 7 h |
tejus.lohani |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ |
fix |
|
| 34373 |
384 d 8 h |
tejus.lohani |
/trunk/ |
Distance field in billing Dashboard,when warehouse and billing address pincode are same ,then distance is required |
|
| 34180 |
440 d 4 h |
ranu |
/trunk/ |
warehouse stock table added column according to shankar sir |
|