h-1.flutter.4/lib/pdf_templates/sales_invoice_template.dart

37 lines
No EOL
1.2 KiB
Dart

// 販売伝票テンプレート(簡易実装)
import 'dart:convert';
class SalesInvoiceTemplate {
final String invoiceNumber;
final String date;
final String customerName;
final List<Map<String, dynamic>> items;
final int totalAmount;
final String taxRate;
const SalesInvoiceTemplate({
this.invoiceNumber = '',
this.date = '',
this.customerName = '',
this.items = const <Map<String, dynamic>>[],
this.totalAmount = 0,
this.taxRate = '8',
});
factory SalesInvoiceTemplate.fromMap(Map<String, dynamic> data) {
return SalesInvoiceTemplate(
invoiceNumber: data['invoice'] as String? ?? '',
date: data['date'] as String? ?? '',
customerName: data['customer_name'] as String? ?? '',
items: (data['items'] as List<dynamic>?)?.map((e) => e as Map<String, dynamic>).toList() ?? const <Map<String, dynamic>>[],
totalAmount: (data['total'] as int?) ?? 0,
);
}
@override
String toString() => '販売伝票 #${invoiceNumber} (${date}, 合計:¥$totalAmount)';
Map<String, dynamic> toJson() {
return {'invoice': invoiceNumber, 'date': date, 'items': items.map((i) => i).toList(), 'total': totalAmount};
}
}