|
@@ -32,27 +32,26 @@ class PatientManager implements IPatientManager {
|
|
|
DateTime? endTime,
|
|
|
) async {
|
|
|
final isKeywordQuery = keyword != null && keyword.isNotEmpty;
|
|
|
- final query = db.repositories.patient.queryable.where((x) {
|
|
|
+ var query = db.repositories.patient.queryable.where((x) {
|
|
|
final List<IDbColumnCondition> arr = [];
|
|
|
arr.add(x.isValid.equals(true));
|
|
|
arr.add(x.orgCode.equals(Store.user.organizationCode));
|
|
|
- arr.add(x.syncState.notEquals(OfflineDataSyncState.success));
|
|
|
+ arr.add(x.overallSyncState.notEquals(OfflineDataSyncState.success));
|
|
|
|
|
|
- if (!isKeywordQuery) {
|
|
|
- if (startTime != null) {
|
|
|
- arr.add(x.createTime.gte(startTime));
|
|
|
- }
|
|
|
- if (endTime != null) {
|
|
|
- arr.add(x.createTime.lt(endTime));
|
|
|
- }
|
|
|
- }
|
|
|
+ if (!isKeywordQuery) {}
|
|
|
return arr;
|
|
|
});
|
|
|
if (isKeywordQuery) {
|
|
|
- // 姓名查询
|
|
|
- query.and((x) => x.name.like("%$keyword%"));
|
|
|
- // 身份照查询
|
|
|
- query.or((x) => x.code.like("%$keyword%"));
|
|
|
+ // 根据 姓名or身份证号 模糊查询
|
|
|
+ query = query.whereCustom(
|
|
|
+ " AND ( name like '%$keyword%' OR code like '%$keyword%' ) ");
|
|
|
+ } else {
|
|
|
+ if (startTime != null) {
|
|
|
+ query = query.and((x) => x.createTime.gte(startTime));
|
|
|
+ }
|
|
|
+ if (endTime != null) {
|
|
|
+ query = query.and((x) => x.createTime.lt(endTime));
|
|
|
+ }
|
|
|
}
|
|
|
final entities =
|
|
|
await query.orderBy((x) => x.updateTime, DbOrderByType.desc).toList();
|