37 lines
No EOL
965 B
Dart
37 lines
No EOL
965 B
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({
|
|
required this.invoiceNumber,
|
|
required this.date,
|
|
required this.customerName,
|
|
required this.items,
|
|
required this.totalAmount,
|
|
this.taxRate = '8',
|
|
});
|
|
|
|
factory SalesInvoiceTemplate.fromMap(Map<String, dynamic> data) {
|
|
return const SalesInvoiceTemplate(
|
|
invoiceNumber: '',
|
|
date: '',
|
|
customerName: '',
|
|
items: [],
|
|
totalAmount: 0,
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() => '販売伝票 #${invoiceNumber} (${date}, 合計:¥$totalAmount)';
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {'invoice': invoiceNumber, 'date': date, 'items': items.map((i) => i).toList(), 'total': totalAmount};
|
|
}
|
|
} |