|
@@ -32,6 +32,7 @@ class ExamServiceMock extends VitalExamService {
|
|
|
entity.userCode = Store.user.userCode!;
|
|
|
entity.patientCode = request.patientCode!;
|
|
|
entity.batchNumber = request.batchNumber!;
|
|
|
+ entity.physicalEaxmNumber = request.physicalExamNumber!;
|
|
|
entity.templateKey = request.key!;
|
|
|
entity.templateCode = request.templateCode!;
|
|
|
entity.dataJson = request.examData!;
|
|
@@ -40,11 +41,75 @@ class ExamServiceMock extends VitalExamService {
|
|
|
return id > 0 ? entity.code : "";
|
|
|
}
|
|
|
|
|
|
+ /// 目前仅中医体质用
|
|
|
+ @override
|
|
|
+ Future<bool> updateExamAsync(UpdateExamRequest request) async {
|
|
|
+ ExamEntity? entity = await db.repositories.exam.singleByCode(request.code!);
|
|
|
+ if (entity == null) {
|
|
|
+ // TODO: 此时拿不到批次号、体检号等信息,无法创建完整的离线数据,先直接返回失败
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ entity.dataJson = request.examData!;
|
|
|
+ final rows = await db.repositories.exam.update(entity);
|
|
|
+ return rows > 0;
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
Future<bool> updateExamByBatchNumberAsync(
|
|
|
UpdateExamByBatchNumberRequest request) async {
|
|
|
- // TODO: implement updateExamByBatchNumberAsync
|
|
|
- return super.updateExamByBatchNumberAsync(request);
|
|
|
+ final entity = await db.repositories.exam.queryable
|
|
|
+ .where((x) => [
|
|
|
+ x.isValid.equals(true),
|
|
|
+ x.batchNumber.equals(request.batchNumber),
|
|
|
+ x.batchNumber.equals(request.batchNumber),
|
|
|
+ x.templateKey.equals(request.key),
|
|
|
+ ])
|
|
|
+ .first();
|
|
|
+ if (entity == null) {
|
|
|
+ // TODO: 此时拿不到批次号、体检号等信息,无法创建完整的离线数据,先直接返回失败
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ entity.dataJson = request.examData!;
|
|
|
+ final rows = await db.repositories.exam.update(entity);
|
|
|
+ return rows > 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ Future<List<ExamDTO>> getExamByBatchNumberAsync(
|
|
|
+ GetExamByBatchNumberRequest request) async {
|
|
|
+ final entities = await db.repositories.exam.queryable
|
|
|
+ .where((x) => [
|
|
|
+ x.isValid.equals(true),
|
|
|
+ x.isValid.equals(request.batchNumber),
|
|
|
+ ])
|
|
|
+ .toList();
|
|
|
+ List<ExamDTO> dtos = [];
|
|
|
+ for (var entity in entities) {
|
|
|
+ final dto = ExamDTO(
|
|
|
+ code: entity.code,
|
|
|
+ );
|
|
|
+ dtos.add(dto);
|
|
|
+ }
|
|
|
+ return dtos;
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ Future<PageCollection<ExamConclusionDTO>> getPatientExamByPageAsync(
|
|
|
+ GetPatientExamByPageRequest request) async {
|
|
|
+ var query = db.repositories.exam.queryable.where((x) => [
|
|
|
+ x.isValid.equals(true),
|
|
|
+ ]);
|
|
|
+ final count = await query.count();
|
|
|
+ final result = PageCollection<ExamConclusionDTO>(
|
|
|
+ currentPage: request.pageIndex,
|
|
|
+ pageIndex: request.pageIndex,
|
|
|
+ pageSize: request.pageSize,
|
|
|
+ totalCount: count,
|
|
|
+ dataCount: 0,
|
|
|
+ pageData: [],
|
|
|
+ );
|
|
|
+ return super.getPatientExamByPageAsync(request);
|
|
|
}
|
|
|
|
|
|
@override
|
|
@@ -85,8 +150,13 @@ class ExamServiceMock extends VitalExamService {
|
|
|
}
|
|
|
|
|
|
Future<bool> _checkBatch(String batchNumber, String patientCode) async {
|
|
|
- final hisCount =
|
|
|
- await db.repositories.examBatch.queryable.where((x) => []).count();
|
|
|
+ final hisCount = await db.repositories.examBatch.queryable
|
|
|
+ .where((x) => [
|
|
|
+ x.isValid.equals(true),
|
|
|
+ x.batchNumber.equals(batchNumber),
|
|
|
+ x.patientCode.equals(patientCode),
|
|
|
+ ])
|
|
|
+ .count();
|
|
|
if (hisCount > 0) {
|
|
|
// 已存在。不重复创建
|
|
|
return true;
|