123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- 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;
- ///扩展信息Code
- String? extCode;
- /// 扩展Json
- String? extJson;
- /// 姓名
- String name = "";
- ///组织编码
- String orgCode = '';
- /// 高血压随访待上传数量
- int gxyFollowUpCount = 0;
- /// 糖尿病随访待上传数量
- int tnbFollowUpCount = 0;
- /// 健康检测待上传数量
- int diagnosisCount = 0;
- /// 体检待上传数量
- int examCount = 0;
- /// 中医体质待上传数量
- int tcmConsitutionCount = 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['extCode'] = extCode;
- map['gxyFollowUpCount'] = gxyFollowUpCount;
- map['tnbFollowUpCount'] = tnbFollowUpCount;
- map['diagnosisCount'] = diagnosisCount;
- map['tcmConsitutionCount'] = tcmConsitutionCount;
- map['examCount'] = examCount;
- 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'];
- extCode = map['extCode'];
- gxyFollowUpCount = map['gxyFollowUpCount'];
- tnbFollowUpCount = map['tnbFollowUpCount'];
- diagnosisCount = map['diagnosisCount'];
- examCount = map['examCount'];
- tcmConsitutionCount = map['tcmConsitutionCount'];
- 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");
- }
|