Merge branch 'fix-issues' into 'development'

jira bugs fix

See merge request Cloud_Solution/doctor_app_flutter!327
merge-requests/328/merge
Mohammad Aljammal 4 years ago
commit 88a5750d22

@ -207,6 +207,9 @@ const POST_ADMISSION_REQUEST =
const GET_ITEM_BY_MEDICINE =
'Services/DoctorApplication.svc/REST/GetItemByMedicineCode';
const GET_PROCEDURE_VALIDATION =
'Services/DoctorApplication.svc/REST/ValidateProcedures';
var selectedPatientType = 1;
//*********change value to decode json from Dropdown ************

@ -58,6 +58,7 @@ class EntityList {
dynamic stopDate;
dynamic uom;
dynamic pharmacistRemarks;
dynamic pharmacyInervention;
dynamic refill;
EntityList(
@ -91,7 +92,8 @@ class EntityList {
this.stopDate,
this.uom,
this.pharmacistRemarks,
this.refill});
this.refill,
this.pharmacyInervention});
EntityList.fromJson(Map<String, dynamic> json) {
appointmentNo = json['appointmentNo'];
@ -125,6 +127,7 @@ class EntityList {
uom = json['uom'];
pharmacistRemarks = json['pharmacistRemarks'];
refill = json['refill'];
pharmacyInervention = json['interventionID'];
}
Map<String, dynamic> toJson() {
@ -160,6 +163,8 @@ class EntityList {
data['uom'] = this.uom;
data['pharmacistRemarks'] = this.pharmacistRemarks;
data['refill'] = this.refill;
data['interventionID'] = this.pharmacyInervention;
return data;
}
}

@ -0,0 +1,51 @@
class ProcedureValadteModel {
List<EntityList> entityList;
int rowcount;
dynamic statusMessage;
dynamic success;
ProcedureValadteModel(
{this.entityList, this.rowcount, this.statusMessage, this.success});
ProcedureValadteModel.fromJson(Map<String, dynamic> json) {
if (json['entityList'] != null) {
entityList = new List<EntityList>();
json['entityList'].forEach((v) {
entityList.add(new EntityList.fromJson(v));
});
}
rowcount = json['rowcount'];
statusMessage = json['statusMessage'];
success = json['success'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.entityList != null) {
data['entityList'] = this.entityList.map((v) => v.toJson()).toList();
}
data['rowcount'] = this.rowcount;
data['statusMessage'] = this.statusMessage;
data['success'] = this.success;
return data;
}
}
class EntityList {
String procedureId;
List<String> warringMessages;
EntityList({this.procedureId, this.warringMessages});
EntityList.fromJson(Map<String, dynamic> json) {
procedureId = json['procedureId'];
warringMessages = json['warringMessages'].cast<String>();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['procedureId'] = this.procedureId;
data['warringMessages'] = this.warringMessages;
return data;
}
}

@ -0,0 +1,32 @@
class ProcedureValadteRequestModel {
String vidaAuthTokenID;
int patientMRN;
int appointmentNo;
int episodeID;
List<String> procedure;
ProcedureValadteRequestModel(
{this.vidaAuthTokenID,
this.patientMRN,
this.appointmentNo,
this.episodeID,
this.procedure});
ProcedureValadteRequestModel.fromJson(Map<String, dynamic> json) {
vidaAuthTokenID = json['VidaAuthTokenID'];
patientMRN = json['PatientMRN'];
appointmentNo = json['AppointmentNo'];
episodeID = json['EpisodeID'];
procedure = json['Procedure'].cast<String>();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
data['PatientMRN'] = this.patientMRN;
data['AppointmentNo'] = this.appointmentNo;
data['EpisodeID'] = this.episodeID;
data['Procedure'] = this.procedure;
return data;
}
}

@ -5,6 +5,8 @@ import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_re
import 'package:doctor_app_flutter/core/model/procedure/get_procedure_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/get_procedure_req_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_request_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
@ -13,6 +15,8 @@ import 'package:flutter/foundation.dart';
class ProcedureService extends BaseService {
List<GetOrderedProcedureModel> _procedureList = List();
List<GetOrderedProcedureModel> get procedureList => _procedureList;
List<ProcedureValadteModel> _valadteProcedureList = List();
List<ProcedureValadteModel> get valadteProcedureList => _valadteProcedureList;
List<CategoriseProcedureModel> _categoriesList = List();
List<CategoriseProcedureModel> get categoriesList => _categoriesList;
List<Procedures> procedureslist = List();
@ -118,4 +122,18 @@ class ProcedureService extends BaseService {
super.error = error;
}, body: updateProcedureRequestModel.toJson());
}
Future valadteProcedure(
ProcedureValadteRequestModel procedureValadteRequestModel) async {
hasError = false;
_valadteProcedureList.clear();
await baseAppClient.post(GET_PROCEDURE_VALIDATION,
onSuccess: (dynamic response, int statusCode) {
_valadteProcedureList.add(
ProcedureValadteModel.fromJson(response['ValidateProcedureList']));
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: procedureValadteRequestModel.toJson());
}
}

@ -3,6 +3,8 @@ import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.dar
import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/get_procedure_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_request_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart';
import 'package:doctor_app_flutter/core/service/procedure_service.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
@ -13,6 +15,8 @@ class ProcedureViewModel extends BaseViewModel {
ProcedureService _procedureService = locator<ProcedureService>();
List<GetOrderedProcedureModel> get procedureList =>
_procedureService.procedureList;
List<ProcedureValadteModel> get valadteProcedureList =>
_procedureService.valadteProcedureList;
List<CategoriseProcedureModel> get categoriesList =>
_procedureService.categoriesList;
List<dynamic> get categoryList => _procedureService.categoryList;
@ -69,6 +73,20 @@ class ProcedureViewModel extends BaseViewModel {
}
}
Future valadteProcedure(
ProcedureValadteRequestModel procedureValadteRequestModel) async {
hasError = false;
//_insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _procedureService.valadteProcedure(procedureValadteRequestModel);
if (_procedureService.hasError) {
error = _procedureService.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
}
Future updateProcedure(
{UpdateProcedureRequestModel updateProcedureRequestModel,
int mrn}) async {

@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class NewPrescriptionScreen extends StatefulWidget {
@override
@ -244,6 +245,17 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
color: Colors
.green,
),
AppText(
Helpers.getTimeFormated(DateTime.parse(model
.prescriptionList[
0]
.entityList[
index]
.createdOn))
.toString(),
color: Colors
.green,
),
],
),
),
@ -273,14 +285,10 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
Expanded(
child:
AppText(
model
.prescriptionList[
0]
.entityList[
index]
.startDate
.replaceAll("-",
"/"),
Helpers.getDateFormatted(DateTime.parse(model
.prescriptionList[0]
.entityList[index]
.startDate)),
fontSize:
12.0,
),
@ -381,6 +389,87 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
),
],
),
Row(
children: [
AppText(
'UOM: ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].uom),
),
),
],
),
Row(
children: [
AppText(
'BOX Quantity: ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].quantity.toString() == null ? "" : model.prescriptionList[0].entityList[index].quantity.toString()),
),
),
],
),
Row(
children: [
AppText(
'pharmacy Intervention ',
fontWeight:
FontWeight
.w700,
fontSize:
17.0,
),
Expanded(
child:
RichText(
maxLines:
3,
overflow:
TextOverflow.ellipsis,
strutStyle:
StrutStyle(fontSize: 12.0),
text: TextSpan(
style:
TextStyle(color: Colors.black),
text: model.prescriptionList[0].entityList[index].pharmacyInervention.toString() == null ? "" : model.prescriptionList[0].entityList[index].pharmacyInervention.toString()),
),
),
],
),
SizedBox(
height:
5.0),

@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/procedure/ControlsModel.dart';
import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.dart';
import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_valadate_request_model.dart';
import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
@ -18,6 +19,16 @@ import 'package:flutter/material.dart';
import 'entity_list_checkbox_search_widget.dart';
valdateProcedure(ProcedureViewModel model, PatiantInformtion patient,
List<EntityList> entityList) async {
ProcedureValadteRequestModel procedureValadteRequestModel =
new ProcedureValadteRequestModel();
procedureValadteRequestModel.patientMRN = patient.appointmentNo;
procedureValadteRequestModel.episodeID = patient.episodeNo;
procedureValadteRequestModel.appointmentNo = patient.appointmentNo;
}
postProcedure(
{ProcedureViewModel model,
String remarks,
@ -25,6 +36,12 @@ postProcedure(
PatiantInformtion patient,
List<EntityList> entityList}) async {
PostProcedureReqModel postProcedureReqModel = new PostProcedureReqModel();
ProcedureValadteRequestModel procedureValadteRequestModel =
new ProcedureValadteRequestModel();
procedureValadteRequestModel.patientMRN = patient.patientMRN;
procedureValadteRequestModel.episodeID = patient.episodeNo;
procedureValadteRequestModel.appointmentNo = patient.appointmentNo;
List<Procedures> controlsProcedure = List();
postProcedureReqModel.appointmentNo = patient.appointmentNo;
@ -33,11 +50,12 @@ postProcedure(
postProcedureReqModel.patientMRN = patient.patientMRN;
entityList.forEach((element) {
procedureValadteRequestModel.procedure = [element.procedureId];
List<Controls> controls = List();
controls.add(
Controls(
code: "remarks",
controlValue: element.remarks.isNotEmpty ? element.remarks : ""),
controlValue: element.remarks != null ? element.remarks : ""),
);
controls.add(
Controls(code: "ordertype", controlValue: element.type),
@ -49,6 +67,9 @@ postProcedure(
});
postProcedureReqModel.procedures = controlsProcedure;
await model.valadteProcedure(procedureValadteRequestModel);
if (model.state == ViewState.Idle) {
if (model.valadteProcedureList[0].entityList.length == 0) {
await model.postProcedure(postProcedureReqModel, patient.patientMRN);
if (model.state == ViewState.ErrorLocal) {
@ -57,6 +78,18 @@ postProcedure(
} else if (model.state == ViewState.Idle) {
DrAppToastMsg.showSuccesToast('procedure has been added');
}
} else {
if (model.state == ViewState.ErrorLocal) {
helpers.showErrorToast(model.error);
model.getProcedure(mrn: patient.patientMRN);
} else if (model.state == ViewState.Idle) {
helpers.showErrorToast(
model.valadteProcedureList[0].entityList[0].warringMessages);
}
}
} else {
helpers.showErrorToast(model.error);
}
}
void addSelectedProcedure(

@ -324,7 +324,7 @@ class _UpdateProcedureWidgetState extends State<UpdateProcedureWidget> {
entityList.isNotEmpty
? entityList.forEach((element) {
controlsProcedure.procedure = element.procedureId;
controlsProcedure.category = element.categoryID;
controlsProcedure.category = "0" + element.categoryID;
controlsProcedure.controls = controls;
})
: controlsProcedure.procedure = procedureId;

@ -303,6 +303,14 @@ class Helpers {
return "";
}
static String getTimeFormated(DateTime dateTime) {
print(dateTime);
if (dateTime != null)
return dateTime.hour.toString() + ":" + dateTime.minute.toString();
else
return "";
}
/*
*@author: Mohammad Aljammal
*@Date:26/5/2020

Loading…
Cancel
Save