Skip to content

Commit f3c2214

Browse files
committed
check fosa validity
1 parent b7e6088 commit f3c2214

12 files changed

Lines changed: 41 additions & 8 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

.github/.DS_Store

0 Bytes
Binary file not shown.

claimManagement/.DS_Store

0 Bytes
Binary file not shown.

claimManagement/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ android {
2727
minSdkVersion 23
2828
targetSdkVersion 32
2929
versionCode 4
30-
versionName "1.1.5"
30+
versionName "1.1.6"
3131
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
3232
}
3333
buildTypes {

claimManagement/src/.DS_Store

0 Bytes
Binary file not shown.

claimManagement/src/main/.DS_Store

0 Bytes
Binary file not shown.

claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
import org.openimis.imisclaims.domain.entity.PaymentList;
4646
import org.openimis.imisclaims.domain.entity.Service;
4747
import org.openimis.imisclaims.domain.entity.SubServiceItem;
48+
import org.openimis.imisclaims.network.exception.HttpException;
4849
import org.openimis.imisclaims.tools.Log;
50+
import org.openimis.imisclaims.usecase.FetchClaimAdmin;
4951
import org.openimis.imisclaims.usecase.FetchClaimAdmins;
5052
import org.openimis.imisclaims.usecase.FetchControls;
5153
import org.openimis.imisclaims.usecase.FetchDiagnosesServicesItems;
@@ -56,6 +58,7 @@
5658

5759
import java.io.File;
5860
import java.io.FileOutputStream;
61+
import java.net.HttpURLConnection;
5962
import java.util.ArrayList;
6063
import java.util.Calendar;
6164
import java.util.Date;
@@ -553,7 +556,7 @@ public void validateClaimAdminCode(final String claimAdminCode) {
553556
if (c.getCount() == 0) {
554557
try {
555558
progressDialog.dismiss();
556-
doLoggedIn(() -> DownLoadDiagnosesServicesItems(claimAdminCode));
559+
doLoggedIn(() -> CheckFosaValidity(claimAdminCode));
557560
} catch (Exception e) {
558561
e.printStackTrace();
559562
}
@@ -564,6 +567,33 @@ public void validateClaimAdminCode(final String claimAdminCode) {
564567
}
565568
}
566569

570+
public void CheckFosaValidity (String claimAdminCode){
571+
String progress_message = getResources().getString(R.string.checkHfValidity);
572+
progressDialog = ProgressDialog.show(this, getResources().getString(R.string.application), progress_message);
573+
Thread thread = new Thread() {
574+
public void run() {
575+
try {
576+
new FetchClaimAdmin().execute(claimAdminCode);
577+
runOnUiThread(() -> {
578+
progressDialog.dismiss();
579+
DownLoadDiagnosesServicesItems(claimAdminCode);
580+
});
581+
} catch (HttpException e){
582+
if(e.getCode() == HttpURLConnection.HTTP_NOT_FOUND){
583+
runOnUiThread(() -> {
584+
progressDialog.dismiss();
585+
Toast.makeText(MainActivity.this, getResources().getString(R.string.InvalidHealthFacility), Toast.LENGTH_LONG).show();
586+
ClaimAdminDialogBox();
587+
});
588+
}
589+
} catch (Exception e) {
590+
e.printStackTrace();
591+
}
592+
}
593+
};
594+
thread.start();
595+
}
596+
567597
public void DownLoadDiagnosesServicesItems(@Nullable final String officerCode) {
568598
if (global.isNetworkAvailable()) {
569599
String progress_message = getResources().getString(R.string.Diagnoses) + ", " + getResources().getString(R.string.Services) + ", " + getResources().getString(R.string.Items) + "...";

claimManagement/src/main/java/org/openimis/imisclaims/usecase/CreateClaims.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public List<PostNewClaims.Result> execute(
5151
SQLHandler sqlHandler = new SQLHandler(context);
5252
for(PendingClaimGQL pendingClaim: claims){
5353
int insureeId = new FetchInsuree().execute(pendingClaim.getChfId());
54-
int adminId = Integer.parseInt(new FetchClaimAdmin().execute(pendingClaim.getClaimAdmin()));
54+
int adminId = new FetchClaimAdmin().execute(pendingClaim.getClaimAdmin());
5555
int icdId = new FetchDiagnose().execute(pendingClaim.getIcdCode());
5656
int icd1Id = 0;
5757
int icd2Id = 0;

claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchClaimAdmin.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import org.openimis.imisclaims.GetAdminIdQuery;
77
import org.openimis.imisclaims.network.request.GetAdminIdGraphQLRequest;
8+
import org.openimis.imisclaims.util.IdUtils;
89

910
public class FetchClaimAdmin {
1011

@@ -21,10 +22,8 @@ public FetchClaimAdmin(@NonNull GetAdminIdGraphQLRequest request) {
2122

2223
@NonNull
2324
@WorkerThread
24-
public String execute(@NonNull String chfId) throws Exception {
25-
GetAdminIdQuery.Node node = request.get(chfId);
26-
byte[] bytes = node.id().getBytes();
27-
String id = new String(org.apache.commons.codec.binary.Base64.decodeBase64(bytes)).split(":")[1];
28-
return id;
25+
public int execute(@NonNull String claimAdminCode) throws Exception {
26+
GetAdminIdQuery.Node node = request.get(claimAdminCode);
27+
return IdUtils.getIdFromGraphQLString(node.id());
2928
}
3029
}
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)