Skip to content

Commit bc76041

Browse files
authored
Merge pull request #29 from mngoe/feature-30539
Feature 30539
2 parents 2abef70 + d6d5be8 commit bc76041

8 files changed

Lines changed: 43 additions & 10 deletions

File tree

claimManagement/src/main/graphql/org.openimis.imisclaim/GetServices.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ query GetServices ($offset: Int) {
1212
type
1313
price
1414
careType
15+
manualPrice
1516
serviceserviceSet {
1617
service {
1718
id

claimManagement/src/main/graphql/org.openimis.imisclaim/schema.graphqls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,6 +1076,7 @@ type ServiceGQLType implements Node {
10761076
claimserviceSet: [ClaimServiceGQLType!]!
10771077
serviceserviceSet: [SubServiceGQLType]
10781078
servicesLinked: [SubItemGQLType]
1079+
manualPrice: Boolean
10791080
}
10801081

10811082
type SubServiceGQLType {

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public class AddServices extends ImisActivity {
4141
public static ArrayList<HashMap<String, String>> lvSServiceList;
4242
public static ArrayList<HashMap<String, String>> lvSItemList;
4343
public static String packageType;
44+
public static String manualPrice;
4445

4546
@Override
4647
public void onCreate(Bundle savedInstanceState) {
@@ -92,6 +93,7 @@ public void onCreate(Bundle savedInstanceState) {
9293
String Code = cursor.getString(itemColumnIndex);
9394
String Name = cursor.getString(descColumnIndex);
9495
packageType = sqlHandler.getPackageType(Code);
96+
manualPrice = sqlHandler.getManualPrice(Code);
9597
String id = sqlHandler.getServiceId(Code);
9698

9799
oService = new HashMap<>();
@@ -103,8 +105,10 @@ public void onCreate(Bundle savedInstanceState) {
103105
etSAmount.setText(sqlHandler.getServicePrice(Code));
104106
etSName.setText(sqlHandler.getServiceName(Code));
105107
if (!packageType.equals("S")) {
106-
etSAmount.setText("");
107-
sServicePrice = 0;
108+
if(manualPrice.equals("0")){
109+
etSAmount.setText("");
110+
sServicePrice = 0;
111+
}
108112
try {
109113
JSONArray subServices = sqlHandler.getSubServicesIds(id);
110114
JSONArray subServiceArr = new JSONArray();
@@ -132,7 +136,6 @@ public void onCreate(Bundle savedInstanceState) {
132136
sService.put("QtyMax", obj.getString("QuantityMax"));
133137
lvSServiceList.add(sService);
134138
}
135-
Log.e("subItems",subItemArr.toString());
136139
for (int i = 0; i < subItemArr.length(); i++) {
137140
JSONObject obj = subItemArr.getJSONObject(i);
138141
HashMap<String, String> sItem = new HashMap<>();

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
7676
public void afterTextChanged(Editable editable) {
7777
float amount = 0;
7878
int qtyMax = Integer.valueOf(editModelArrayList.get(position).getQtyMax());
79-
if(!holder.editQty.getText().toString().equals("")){
79+
if(!holder.editQty.getText().toString().isEmpty()){
8080
if (AddServices.packageType.equals("F")){
8181
if(Float.valueOf(holder.editQty.getText().toString()) > qtyMax){
8282
Toast.makeText(context, context.getResources().getString(R.string.qtyAlert) + " " + qtyMax, Toast.LENGTH_LONG).show();
@@ -89,10 +89,12 @@ public void afterTextChanged(Editable editable) {
8989
}
9090
}
9191
}
92-
for(int i = 0 ; i < editModelArrayList.size(); i++){
93-
amount = amount + (Float.valueOf(editModelArrayList.get(i).getQty()) * Float.valueOf(editModelArrayList.get(i).getPrice())) ;
92+
if(AddServices.manualPrice.equals("0")){
93+
for(int i = 0 ; i < editModelArrayList.size(); i++){
94+
amount = amount + (Float.valueOf(editModelArrayList.get(i).getQty()) * Float.valueOf(editModelArrayList.get(i).getPrice()));
95+
}
96+
AddServices.etSAmount.setText(String.valueOf(amount));
9497
}
95-
AddServices.etSAmount.setText(String.valueOf(amount));
9698
}
9799
});
98100
return convertView;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,8 @@ public void downloadServices(@Nullable final String officerCode) {
754754
service.getCode(),
755755
service.getName(), "S",
756756
String.valueOf(service.getPrice()),
757-
service.getPackageType());
757+
service.getPackageType(),
758+
service.getManualPrice());
758759

759760
if (service.getSubServices() != null && !service.getSubServices().isEmpty()) {
760761
List<SubServiceItem> subServices = service.getSubServices();

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

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class SQLHandler extends SQLiteOpenHelper {
4444
private static final String createTableClaimItems = "CREATE TABLE IF NOT EXISTS tblClaimItems(ClaimUUID TEXT, ItemId TEXT, ItemCode TEXT, ItemPrice TEXT, ItemQuantity TEXT);";
4545
private static final String createTableClaimServices = "CREATE TABLE IF NOT EXISTS tblClaimServices(ClaimUUID TEXT,ServiceId TEXT, ServiceCode TEXT, ServicePrice TEXT, ServiceQuantity TEXT, ServicePackageType TEXT, SubServicesItems TEXT);";
4646
private static final String createTableClaimUploadStatus = "CREATE TABLE IF NOT EXISTS tblClaimUploadStatus(ClaimUUID TEXT, UploadDate TEXT, UploadStatus TEXT, UploadMessage TEXT);";
47-
private static final String CreateTableServices = "CREATE TABLE IF NOT EXISTS tblServices(Id text, Code text, Name text, Type text, Price text, PackageType text);";
47+
private static final String CreateTableServices = "CREATE TABLE IF NOT EXISTS tblServices(Id text, Code text, Name text, Type text, Price text, PackageType text, ManualPrice Int);";
4848
private static final String CreateTableItems = "CREATE TABLE IF NOT EXISTS tblItems(Id text, Code text, Name text, Type text, Price text);";
4949
private static final String CreateTableSubServices = "CREATE TABLE IF NOT EXISTS tblSubServices(ServiceId text, ServiceLinked text, Quantity text, Price text);";
5050
private static final String CreateTableSubItems = "CREATE TABLE IF NOT EXISTS tblSubItems(ItemId text, ServiceId text, Quantity text, Price text);";
@@ -702,6 +702,22 @@ public String getPackageType(String code) {
702702
return packageType;
703703
}
704704

705+
public String getManualPrice(String code) {
706+
String manualPrice = "";
707+
try (Cursor c = db.query("tblServices", new String[]{"ManualPrice"}, "LOWER(Code) = LOWER(?)", new String[]{code}, null, null, null, "1")) {
708+
c.moveToFirst();
709+
if (!c.isAfterLast()) {
710+
String result = c.getString(0);
711+
if (!TextUtils.isEmpty(result)) {
712+
manualPrice = result;
713+
}
714+
}
715+
} catch (SQLException e) {
716+
Log.d("ErrorOnFetchingData", String.format("Error while getting price of %s", code), e);
717+
}
718+
return manualPrice;
719+
}
720+
705721
public String getServiceId(String code) {
706722
String id = "";
707723
try (Cursor c = db.query("tblServices", new String[]{"Id"}, "LOWER(Code) = LOWER(?)", new String[]{code}, null, null, null, "1")) {
@@ -734,7 +750,7 @@ public String getItemId(String code) {
734750
return id;
735751
}
736752

737-
public void InsertService(String Id, String Code, String Name, String Type, String Price, String PackageType) {
753+
public void InsertService(String Id, String Code, String Name, String Type, String Price, String PackageType, int ManualPrice) {
738754
try {
739755
ContentValues cv = new ContentValues();
740756
cv.put("Id", Id);
@@ -743,6 +759,7 @@ public void InsertService(String Id, String Code, String Name, String Type, Stri
743759
cv.put("Type", Type);
744760
cv.put("Price", Price);
745761
cv.put("PackageType", PackageType);
762+
cv.put("ManualPrice", ManualPrice);
746763
db.insert("tblServices", null, cv);
747764
} catch (Exception e) {
748765
e.printStackTrace();

claimManagement/src/main/java/org/openimis/imisclaims/domain/entity/Service.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class Service implements Parcelable {
2828
private List<SubServiceItem> subItems;
2929
@Nullable
3030
private String packageType;
31+
private int manualPrice;
3132

3233
public Service(
3334
@NonNull String id,
@@ -36,6 +37,7 @@ public Service(
3637
double price,
3738
@NonNull String currency,
3839
@Nullable String packageType,
40+
int manualPrice,
3941
@Nullable List<SubServiceItem> subServices,
4042
@Nullable List<SubServiceItem> subItems
4143
){
@@ -45,6 +47,7 @@ public Service(
4547
this.price = price;
4648
this.currency = currency;
4749
this.packageType = packageType;
50+
this.manualPrice = manualPrice;
4851
this.subServices = subServices;
4952
this.subItems = subItems;
5053
}
@@ -68,6 +71,7 @@ protected Service(Parcel in) {
6871
price = in.readDouble();
6972
currency = in.readString();
7073
packageType = in.readString();
74+
manualPrice = in.readInt();
7175
subServices = in.createTypedArrayList(SubServiceItem.CREATOR);
7276
subItems = in.createTypedArrayList(SubServiceItem.CREATOR);
7377
}
@@ -82,6 +86,7 @@ public void writeToParcel(Parcel dest, int flags) {
8286
dest.writeString(packageType);
8387
dest.writeTypedList(subServices);
8488
dest.writeTypedList(subItems);
89+
dest.writeInt(manualPrice);
8590
}
8691

8792
@Override
@@ -113,6 +118,8 @@ public String getCurrency() {
113118

114119
@NonNull
115120
public String getPackageType(){ return packageType; }
121+
@NonNull
122+
public int getManualPrice(){ return manualPrice; }
116123
@Nullable
117124
public List<SubServiceItem> getSubServices() {
118125
return subServices;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ private Service toService(
5656
/* price = */ node.price(),
5757
"XAF",
5858
/* packageType = */ node.packagetype(),
59+
/* manualPrice = */ node.manualPrice() ? 1 : 0,
5960
/* subServices = */ subServiceMapper.map(node.serviceserviceSet()),
6061
/* subItems = */ subItemMapper.map(node.servicesLinked())
6162
);

0 commit comments

Comments
 (0)