feat: add settlement_type to SalesInvoice model and related DTOs

- Added settlement_type field to SalesInvoice model with ENUM values (CASH, CREDIT, MIXED).
- Updated SalesInvoice aggregate types, input types, and where filters to include settlement_type.
- Modified StatisticsService to calculate credit amounts based on settlement_type.
- Enhanced TspProviderOriginalSendPayloadDto to include settlement_type.
- Updated NamaProvider DTOs and utility functions to handle new settlement_type logic.
- Created migration to add settlement_type column to sales_invoices table and backfill existing records.
This commit is contained in:
2026-05-24 19:40:04 +03:30
parent b53b7d3ed3
commit ea6f1bfdd0
17 changed files with 340 additions and 268 deletions
@@ -0,0 +1,10 @@
-- Add as nullable first to support existing rows, backfill, then enforce NOT NULL
ALTER TABLE `sales_invoices`
ADD COLUMN `settlement_type` ENUM('CASH', 'CREDIT', 'MIXED') NULL;
UPDATE `sales_invoices`
SET `settlement_type` = 'CASH'
WHERE `settlement_type` IS NULL;
ALTER TABLE `sales_invoices`
MODIFY `settlement_type` ENUM('CASH', 'CREDIT', 'MIXED') NOT NULL;