| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /// 抄表记录模型
- class MeterReadingModel {
- final String id;
- final String meterNo;
- final String userName;
- final String address;
- final double previousReading;
- final double? currentReading;
- final String status; // pending, completed, abnormal
- final DateTime readingDate;
- final String? reader;
- final String? remark;
-
- MeterReadingModel({
- required this.id,
- required this.meterNo,
- required this.userName,
- required this.address,
- required this.previousReading,
- this.currentReading,
- required this.status,
- required this.readingDate,
- this.reader,
- this.remark,
- });
-
- double? get usage =>
- currentReading != null ? currentReading! - previousReading : null;
-
- factory MeterReadingModel.fromJson(Map<String, dynamic> json) {
- return MeterReadingModel(
- id: json['id']?.toString() ?? '',
- meterNo: json['meterNo'] ?? '',
- userName: json['userName'] ?? '',
- address: json['address'] ?? '',
- previousReading: (json['previousReading'] ?? 0).toDouble(),
- currentReading: json['currentReading']?.toDouble(),
- status: json['status'] ?? 'pending',
- readingDate: DateTime.tryParse(json['readingDate'] ?? '') ?? DateTime.now(),
- reader: json['reader'],
- remark: json['remark'],
- );
- }
-
- Map<String, dynamic> toJson() {
- return {
- 'id': id,
- 'meterNo': meterNo,
- 'userName': userName,
- 'address': address,
- 'previousReading': previousReading,
- 'currentReading': currentReading,
- 'status': status,
- 'readingDate': readingDate.toIso8601String(),
- 'reader': reader,
- 'remark': remark,
- };
- }
- }
|