12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import 'package:vital_local_database/core/interface/entity.dart';
- import 'package:vital_local_database/core/sqlite/entity.dart';
- import 'defines.dart';
- import 'syncable.dart';
- /// 病人实体
- class PatientEntity extends SyncableEntity<PatientEntity> {
- static const String _tableName = "patients";
- static final _columns = PatientColumnsDefine();
- // ignore: constant_identifier_names
- static const TABLE_CREATE_SQL = 'CREATE TABLE IF NOT EXISTS "patients" ('
- '"id" INTEGER NOT NULL,'
- '"code" VARCHAR(100) NOT NULL,'
- '"name" VARCHAR(200) NOT NULL,'
- '"dataJson" TEXT NOT NULL,'
- '"extJson" TEXT NULL,'
- '"syncType" INTEGER NOT NULL,'
- '"syncState" INTEGER NOT NULL,'
- '"createTime" DATETIME NOT NULL,'
- '"updateTime" DATETIME NULL,'
- '"isValid" INTEGER NOT NULL,'
- 'PRIMARY KEY ("id")'
- ');';
- @override
- PatientColumnsDefine get columns => _columns;
- @override
- String get tableName => _tableName;
- /// 扩展Json
- String? extJson;
- /// 姓名
- String name = "";
- ///组织编码
- String orgCode = '';
- /// 随访待上传数量
- int followUpCount = 0;
- /// 健康检测待上传数量
- int diagnosisCount = 0;
- /// 体检待上传数量
- ///
- /// TODO: 尚未支持
- int examCount = 0;
- /// 整体上传状态
- OfflineDataSyncState overallSyncState = OfflineDataSyncState.wait;
- /// 扩展信息上传状态
- OfflineDataSyncState extSyncState = OfflineDataSyncState.wait;
- @override
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['name'] = name;
- map['orgCode'] = orgCode;
- map['extJson'] = extJson;
- map['followUpCount'] = followUpCount;
- map['diagnosisCount'] = diagnosisCount;
- map['overallSyncState'] = overallSyncState.index;
- map['extSyncState'] = extSyncState.index;
- return map;
- }
- @override
- PatientEntity fromJson(Map<String, dynamic> map) {
- super.fromJson(map);
- name = map['name'];
- orgCode = map['orgCode'];
- extJson = map['extJson'];
- followUpCount = map['followUpCount'];
- diagnosisCount = map['diagnosisCount'];
- overallSyncState = OfflineDataSyncState.values[map['overallSyncState']];
- extSyncState = OfflineDataSyncState.values[map['extSyncState']];
- return this;
- }
- }
- /// 病人字段定义
- class PatientColumnsDefine extends SyncableColumnsDefine<PatientEntity>
- implements IDbColumnsDefine<PatientEntity> {
- final name = DbColumn<String>("name");
- final orgCode = DbColumn<String>("orgCode");
- final extJson = DbColumn<String>("extJson");
- final overallSyncState = DbColumn<OfflineDataSyncState>("overallSyncState");
- final extSyncState = DbColumn<OfflineDataSyncState>("extSyncState");
- }
|