Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
Binary file removed claimManagement/.DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion claimManagement/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ android {
minSdkVersion 26
targetSdkVersion 32
versionCode 4
versionName "2.0.5"
versionName "2.0.6"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
Expand Down
Binary file removed claimManagement/src/.DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
query GetMedications($offset: Int) {
medicalItems(offset: $offset) {
query GetMedications($offset: Int, $pricelistUuid: UUID, $date: Date) {
medicalItemsStr(offset: $offset, pricelistUuid: $pricelistUuid, date: $date) {
pageInfo{
hasNextPage
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,25 @@ query GetPaymentList($claim_administrator_code: String) {
healthFacility {
code
servicesPricelist {
uuid
details {
edges {
node {
service {
id
code
name
price
packagetype
type
careType
manualPrice
serviceserviceSet {
service {
id
code
name
}
qtyProvided
priceAsked
}
servicesLinked {
item {
id
code
name
}
qtyProvided
priceAsked
}
}
}
}
}
}
itemsPricelist {
uuid
details {
edges {
node {
item {
id
code
name
price
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
query GetServices ($offset: Int, $pricelistUuid: UUID, $date: Date) {
medicalServicesStr(offset: $offset, pricelistUuid: $pricelistUuid, date: $date) {
pageInfo {
hasNextPage
}
edges {
node {
id
code
name
packagetype
type
price
careType
manualPrice
serviceserviceSet {
service {
id
code
name
}
qtyProvided
priceAsked
}
servicesLinked {
item {
id
code
name
}
qtyProvided
priceAsked
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,15 @@
import org.openimis.imisclaims.usecase.FetchControls;
import org.openimis.imisclaims.usecase.FetchDiagnosesServicesItems;
import org.openimis.imisclaims.usecase.FetchHealthfacilities;
import org.openimis.imisclaims.usecase.FetchMedications;
import org.openimis.imisclaims.usecase.FetchPaymentList;
import org.openimis.imisclaims.usecase.FetchServices;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;


Expand Down Expand Up @@ -584,40 +588,48 @@ public void run() {

if (officerCode != null) {
PaymentList paymentList = new FetchPaymentList().execute(officerCode);
Date date = Calendar.getInstance().getTime();

// insert services
for (Service service : paymentList.getServices()) {
sqlHandler.InsertService(service.getId(),
service.getCode(),
service.getName(), "S",
String.valueOf(service.getPrice()),
service.getPackageType(),
service.getManualPrice()
);
sqlHandler.InsertReferences(service.getCode(), service.getName(), "S", String.valueOf(service.getPrice()));
sqlHandler.InsertMapping(service.getCode(), service.getName(), "S");

if (service.getSubServices() != null && !service.getSubServices().isEmpty()) {
List<SubServiceItem> subServices = service.getSubServices();
for (SubServiceItem subService : subServices) {
sqlHandler.InsertSubServices(subService.getId(),
service.getId(), String.valueOf(subService.getQty()), subService.getPrice());
if(paymentList.getServicesPricelistUuid() != null && !paymentList.getServicesPricelistUuid().isEmpty()){
List<Service> services = new FetchServices().execute(paymentList.getServicesPricelistUuid(), date);
for (Service service : services) {
sqlHandler.InsertService(service.getId(),
service.getCode(),
service.getName(), "S",
String.valueOf(service.getPrice()),
service.getPackageType(),
service.getManualPrice()
);
sqlHandler.InsertReferences(service.getCode(), service.getName(), "S", String.valueOf(service.getPrice()));
sqlHandler.InsertMapping(service.getCode(), service.getName(), "S");

if (service.getSubServices() != null && !service.getSubServices().isEmpty()) {
List<SubServiceItem> subServices = service.getSubServices();
for (SubServiceItem subService : subServices) {
sqlHandler.InsertSubServices(subService.getId(),
service.getId(), String.valueOf(subService.getQty()), subService.getPrice());
}
}
}
//insert subItems
if (service.getSubItems() != null && !service.getSubItems().isEmpty()) {
List<SubServiceItem> subItems = service.getSubItems();
for (SubServiceItem subItem : subItems) {
sqlHandler.InsertSubItems(subItem.getId(),
service.getId(), String.valueOf(subItem.getQty()), subItem.getPrice());
//insert subItems
if (service.getSubItems() != null && !service.getSubItems().isEmpty()) {
List<SubServiceItem> subItems = service.getSubItems();
for (SubServiceItem subItem : subItems) {
sqlHandler.InsertSubItems(subItem.getId(),
service.getId(), String.valueOf(subItem.getQty()), subItem.getPrice());
}
}
}
}

//insert Items
for (Medication medication : paymentList.getMedications()) {
sqlHandler.InsertReferences(medication.getCode(), medication.getName(), "I", String.valueOf(medication.getPrice()));
sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I");
sqlHandler.InsertItem(medication.getId(),medication.getCode(),medication.getName(), "I", String.valueOf(medication.getPrice()));
if(paymentList.getItemsPricelistUuid() != null && !paymentList.getItemsPricelistUuid().isEmpty()){
List<Medication> medications = new FetchMedications().execute(paymentList.getItemsPricelistUuid(), date);
for (Medication medication : medications) {
sqlHandler.InsertReferences(medication.getCode(), medication.getName(), "I", String.valueOf(medication.getPrice()));
sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I");
sqlHandler.InsertItem(medication.getId(),medication.getCode(),medication.getName(), "I", String.valueOf(medication.getPrice()));
}
}
}

Expand Down Expand Up @@ -660,16 +672,21 @@ private void DownLoadServicesItemsPriceList(@NonNull final String claimAdministr
public void run() {
try {
PaymentList paymentList = new FetchPaymentList().execute(claimAdministratorCode);
String servicesPricelistUuid = paymentList.getServicesPricelistUuid();
Date date = Calendar.getInstance().getTime();
List<Service> services = new FetchServices().execute(servicesPricelistUuid, date);
String itemsPriceListUuid = paymentList.getItemsPricelistUuid();
List<Medication> medications = new FetchMedications().execute(itemsPriceListUuid, date);
sqlHandler.ClearMapping("S");
sqlHandler.ClearMapping("I");

//Insert Services
for (Service service : paymentList.getServices()) {
for (Service service : services) {
sqlHandler.InsertMapping(service.getCode(), service.getName(), "S");
}

//Insert Items
for (Medication medication : paymentList.getMedications()) {
for (Medication medication : medications) {
sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I");
}
runOnUiThread(() -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.os.Parcelable;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import java.util.List;

Expand All @@ -15,28 +16,40 @@ public class PaymentList implements Parcelable {
private final List<Service> services;
@NonNull
private final List<Medication> medications;
@Nullable
private final String servicesPricelistUuid;
@Nullable
private final String itemsPricelistUuid;

public PaymentList(
@NonNull String healthFacilityCode,
@NonNull List<Service> services,
@NonNull List<Medication> medications
@NonNull List<Medication> medications,
@Nullable String servicesPricelistUuid,
@Nullable String itemsPricelistUuid
) {
this.healthFacilityCode = healthFacilityCode;
this.services = services;
this.medications = medications;
this.servicesPricelistUuid = servicesPricelistUuid;
this.itemsPricelistUuid = itemsPricelistUuid;
}

protected PaymentList(Parcel in) {
healthFacilityCode = in.readString();
services = in.createTypedArrayList(Service.CREATOR);
medications = in.createTypedArrayList(Medication.CREATOR);
servicesPricelistUuid = in.readString();
itemsPricelistUuid = in.readString();
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(healthFacilityCode);
dest.writeTypedList(services);
dest.writeTypedList(medications);
dest.writeString(servicesPricelistUuid);
dest.writeString(itemsPricelistUuid);
}

@Override
Expand All @@ -59,6 +72,12 @@ public List<Medication> getMedications() {
return medications;
}

@Nullable
public String getServicesPricelistUuid(){ return servicesPricelistUuid; }

@Nullable
public String getItemsPricelistUuid(){ return itemsPricelistUuid; }

public static final Creator<PaymentList> CREATOR = new Creator<>() {
@Override
public PaymentList createFromParcel(Parcel in) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
import androidx.annotation.WorkerThread;
import com.apollographql.apollo.api.Input;
import org.openimis.imisclaims.GetMedicationsQuery;
import java.util.List;

import java.util.Date;
public class GetMedicationsGraphQLRequest extends BaseGraphQLRequest{
@NonNull
@WorkerThread
public GetMedicationsQuery.MedicalItems get(int page) throws Exception {
return makeSynchronous(new GetMedicationsQuery(Input.fromNullable(page))).getData().medicalItems();
public GetMedicationsQuery.MedicalItemsStr get(int page, String pricelistUuid, Date date) throws Exception {
return makeSynchronous(new GetMedicationsQuery(Input.fromNullable(page), Input.fromNullable(pricelistUuid), Input.fromNullable(date))).getData().medicalItemsStr();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package org.openimis.imisclaims.network.request;

import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread;

import com.apollographql.apollo.api.Input;

import org.openimis.imisclaims.GetServicesQuery;

import java.util.Date;

public class GetServicesGraphQLRequest extends BaseGraphQLRequest{

@NonNull
@WorkerThread
public GetServicesQuery.MedicalServicesStr get(int page, String pricelistUUID, Date date) throws Exception {
return makeSynchronous(new GetServicesQuery(Input.fromNullable(page), Input.fromNullable(pricelistUUID), Input.fromNullable(date))).getData().medicalServicesStr();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import org.openimis.imisclaims.network.request.GetMedicationsGraphQLRequest;
import org.openimis.imisclaims.network.util.Mapper;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
public class FetchMedications {
Expand All @@ -22,12 +23,12 @@ public FetchMedications(
}
@WorkerThread
@NonNull
public List<Medication> execute() throws Exception {
public List<Medication> execute(String pricelistUuid, Date date) throws Exception {
List<Medication> items = new ArrayList<>();
int page = 0;
boolean hasNextPage;
do{
GetMedicationsQuery.MedicalItems response = request.get(page);
GetMedicationsQuery.MedicalItemsStr response = request.get(page, pricelistUuid, date);
items.addAll(
Mapper.map(
response.edges(),
Expand Down
Loading