Add manual entry procedure for presented and selected carton, packs and pieces.
parent
79dd070d65
commit
cf3bc2baee
|
@ -10,8 +10,8 @@ android {
|
||||||
applicationId "com.utopiaindustries.qualitychecker"
|
applicationId "com.utopiaindustries.qualitychecker"
|
||||||
minSdk 24
|
minSdk 24
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 5
|
versionCode 7
|
||||||
versionName "1.4"
|
versionName "1.6"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@ import retrofit2.Retrofit;
|
||||||
import retrofit2.converter.gson.GsonConverterFactory;
|
import retrofit2.converter.gson.GsonConverterFactory;
|
||||||
|
|
||||||
public class RetrofitClient {
|
public class RetrofitClient {
|
||||||
//private final static String BASE_URL = "https://portal.utopiaindustries.pk/uind/";
|
private final static String BASE_URL = "https://portal.utopiaindustries.pk/uind/";
|
||||||
private final static String BASE_URL = "http://192.168.91.44:8081/uind/";//"http://192.168.91.44:8081/uind/";//"http://192.168.90.27:8080/uind/";//"http://192.168.91.16:8080/uind/";
|
//private final static String BASE_URL = "http://192.168.91.44:8081/uind/";//"http://192.168.91.44:8081/uind/";//"http://192.168.90.27:8080/uind/";//"http://192.168.91.16:8080/uind/";
|
||||||
|
|
||||||
private static Retrofit retrofit;
|
private static Retrofit retrofit;
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,9 @@ public class InspectionReportItem implements Serializable {
|
||||||
private float totalPresentPacks;
|
private float totalPresentPacks;
|
||||||
private float totalPresentCartons;
|
private float totalPresentCartons;
|
||||||
// sqrt( totalPresentCartons )
|
// sqrt( totalPresentCartons )
|
||||||
private float cartonsSelected;
|
private int cartonsSelected;
|
||||||
private float packsSelected;
|
private int packsSelected;
|
||||||
private float piecesSelected;
|
private int piecesSelected;
|
||||||
|
|
||||||
private float cartonWeight;
|
private float cartonWeight;
|
||||||
private float cartonLength;
|
private float cartonLength;
|
||||||
|
@ -229,19 +229,19 @@ public class InspectionReportItem implements Serializable {
|
||||||
this.totalPresentCartons = totalPresentCartons;
|
this.totalPresentCartons = totalPresentCartons;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getCartonsSelected() {
|
public int getCartonsSelected() {
|
||||||
return cartonsSelected;
|
return cartonsSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCartonsSelected(float cartonsSelected) {
|
public void setCartonsSelected(int cartonsSelected) {
|
||||||
this.cartonsSelected = cartonsSelected;
|
this.cartonsSelected = cartonsSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getPacksSelected() {
|
public int getPacksSelected() {
|
||||||
return packsSelected;
|
return packsSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPacksSelected(float packsSelected) {
|
public void setPacksSelected(int packsSelected) {
|
||||||
this.packsSelected = packsSelected;
|
this.packsSelected = packsSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,11 +253,11 @@ public class InspectionReportItem implements Serializable {
|
||||||
this.packingDetails = packingDetails;
|
this.packingDetails = packingDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getPiecesSelected() {
|
public int getPiecesSelected() {
|
||||||
return piecesSelected;
|
return piecesSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPiecesSelected(float piecesSelected) {
|
public void setPiecesSelected(int piecesSelected) {
|
||||||
this.piecesSelected = piecesSelected;
|
this.piecesSelected = piecesSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,8 @@ public class Store {
|
||||||
private EmployeePhoto employeePhoto;
|
private EmployeePhoto employeePhoto;
|
||||||
private List<ItemUnit> itemUnits;
|
private List<ItemUnit> itemUnits;
|
||||||
private List<InspectionCheckpointSku> checkpointSkus;
|
private List<InspectionCheckpointSku> checkpointSkus;
|
||||||
|
private boolean isNewReportPresented;
|
||||||
|
private boolean isNewReportSelected;
|
||||||
|
|
||||||
private Store(){
|
private Store(){
|
||||||
}
|
}
|
||||||
|
@ -234,6 +236,22 @@ public class Store {
|
||||||
this.checkpointSkus = checkpointSkus;
|
this.checkpointSkus = checkpointSkus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isNewReportPresented() {
|
||||||
|
return isNewReportPresented;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewReportPresented(boolean newReportPresented) {
|
||||||
|
isNewReportPresented = newReportPresented;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNewReportSelected() {
|
||||||
|
return isNewReportSelected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewReportSelected(boolean newReportSelected) {
|
||||||
|
isNewReportSelected = newReportSelected;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Store{" +
|
return "Store{" +
|
||||||
|
|
|
@ -68,7 +68,12 @@ import com.utopiaindustries.qualitychecker.utils.PropertyReader;
|
||||||
import com.utopiaindustries.qualitychecker.utils.Release;
|
import com.utopiaindustries.qualitychecker.utils.Release;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.StringWriter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -589,7 +594,7 @@ private int generateRandomNumber(int min, int max) {
|
||||||
reportsUploadBtn.setEnabled(false);
|
reportsUploadBtn.setEnabled(false);
|
||||||
final int[] uploadedCount = {0};
|
final int[] uploadedCount = {0};
|
||||||
|
|
||||||
for ( InspectionReport report : reports ){
|
for ( InspectionReport report : reports ) {
|
||||||
service.saveReport(report, new SaveReportCallback() {
|
service.saveReport(report, new SaveReportCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
|
@ -613,9 +618,10 @@ private int generateRandomNumber(int min, int max) {
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable throwable) {
|
public void onFailure(Throwable throwable) {
|
||||||
|
Log.e("Message: ",""+throwable.getMessage());
|
||||||
uploadedCount[0]++;
|
uploadedCount[0]++;
|
||||||
// Even on failure, increment the counter to avoid locking the button forever
|
// Even on failure, increment the counter to avoid locking the button forever
|
||||||
|
//logErrorToFile(throwable);
|
||||||
NotificationHelper.showNotification(
|
NotificationHelper.showNotification(
|
||||||
HomeActivity.this,
|
HomeActivity.this,
|
||||||
"Report Uploading",
|
"Report Uploading",
|
||||||
|
@ -648,6 +654,11 @@ private int generateRandomNumber(int min, int max) {
|
||||||
try {
|
try {
|
||||||
// get file from path
|
// get file from path
|
||||||
byte[] result = FileUtils.readFile( wrapper.getContent() );
|
byte[] result = FileUtils.readFile( wrapper.getContent() );
|
||||||
|
/*FileUtils.copyFile(this, wrapper.getContent(), "Reports");
|
||||||
|
Object obj = FileUtils.readSerializedObject(wrapper.getContent());
|
||||||
|
if (obj != null) {
|
||||||
|
FileUtils.writeObjectToReadableFile(this, obj, "report_readable.txt");
|
||||||
|
}*/
|
||||||
ByteArrayInputStream byteIn = new ByteArrayInputStream( result );
|
ByteArrayInputStream byteIn = new ByteArrayInputStream( result );
|
||||||
ObjectInputStream in = new ObjectInputStream(byteIn);
|
ObjectInputStream in = new ObjectInputStream(byteIn);
|
||||||
InspectionReport report = ( InspectionReport ) in.readObject();
|
InspectionReport report = ( InspectionReport ) in.readObject();
|
||||||
|
@ -661,4 +672,23 @@ private int generateRandomNumber(int min, int max) {
|
||||||
}
|
}
|
||||||
return reports;
|
return reports;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void logErrorToFile(Throwable throwable) {
|
||||||
|
try {
|
||||||
|
File logFile = new File(getExternalFilesDir(null), "upload_error_log.txt");
|
||||||
|
FileWriter writer = new FileWriter(logFile, true); // append mode
|
||||||
|
writer.write("Error: " + throwable.toString() + "\n");
|
||||||
|
if (throwable.getMessage() != null) {
|
||||||
|
writer.write("Message: " + throwable.getMessage() + "\n");
|
||||||
|
}
|
||||||
|
StringWriter sw = new StringWriter();
|
||||||
|
throwable.printStackTrace(new PrintWriter(sw));
|
||||||
|
writer.write(sw.toString());
|
||||||
|
writer.write("\n------------------------\n");
|
||||||
|
writer.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -355,7 +355,7 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
try {
|
try {
|
||||||
int packsCount = 0, piecesCount = 0;
|
int packsCount = 0, piecesCount = 0;
|
||||||
int boxCount = (int) Double.parseDouble(s.toString());
|
int boxCount = Integer.parseInt(s.toString());
|
||||||
if (itemPerBox.getText().toString().isEmpty() || pieces.getText().toString().isEmpty()) {
|
if (itemPerBox.getText().toString().isEmpty() || pieces.getText().toString().isEmpty()) {
|
||||||
Toast.makeText(getContext(), "Enter Item/Pieces Per box", Toast.LENGTH_SHORT).show();
|
Toast.makeText(getContext(), "Enter Item/Pieces Per box", Toast.LENGTH_SHORT).show();
|
||||||
} else {
|
} else {
|
||||||
|
@ -365,22 +365,33 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
int totalPacks = boxCount * packsCount;
|
int totalPacks = boxCount * packsCount;
|
||||||
int totalPieces = totalPacks * piecesCount;
|
int totalPieces = totalPacks * piecesCount;
|
||||||
|
|
||||||
itemPerBoxSelected.setText(String.valueOf(totalPacks));
|
//store.getReport().getItems().get(0).setPacksSelected(Long.parseLong(s.toString()));
|
||||||
//store.getReport().getItems().get(0).setPacksSelected(Long.parseLong(String.valueOf(totalPacks)));
|
if (store.isNewReportSelected()) {
|
||||||
piecesSelected.setText(String.valueOf(totalPieces));
|
//Log.e("Selected: ",""+store.isNewReportSelected());
|
||||||
//store.getReport().getItems().get(0).setPiecesSelected(Long.parseLong(String.valueOf(totalPieces)));
|
//Log.e("bool-selected-1: ",""+store.isNewReportSelected());
|
||||||
|
//Log.e("bool-selected-2: ","true");
|
||||||
|
itemPerBoxSelected.setText(String.valueOf(totalPacks));
|
||||||
|
piecesSelected.setText(String.valueOf(totalPieces));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//Log.e("bool-selected-3: ","false");
|
||||||
|
//Log.e("bool-selected-4: ","false"+String.valueOf(store.getReport().getItems().get(0).getPacksSelected()));
|
||||||
|
//Log.e("bool-selected-5: ","false"+String.valueOf(store.getReport().getItems().get(0).getPiecesSelected()));
|
||||||
|
itemPerBoxSelected.setText(String.valueOf(store.getReport().getItems().get(0).getPacksSelected()));
|
||||||
|
piecesSelected.setText(String.valueOf(store.getReport().getItems().get(0).getPiecesSelected()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
store.getReport().getItems().get(0).setCartonsSelected(Float.parseFloat(s.toString()));
|
store.getReport().getItems().get(0).setCartonsSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
store.getReport().getItems().get(0).setCartonsSelected(0);
|
store.getReport().getItems().get(0).setCartonsSelected(0);
|
||||||
|
store.setNewReportSelected(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
public void afterTextChanged(Editable s) {
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -388,11 +399,12 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
checkedBoxCartonSelected.addTextChangedListener(new TextWatcher() {
|
checkedBoxCartonSelected.addTextChangedListener(new TextWatcher() {
|
||||||
@Override
|
@Override
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
|
//Log.e("beforeTextChanged: ","***");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
|
//Log.e("onTextChanged: ","***");
|
||||||
try {
|
try {
|
||||||
int packsCount = 0, piecesCount = 0;
|
int packsCount = 0, piecesCount = 0;
|
||||||
int boxCount = Integer.parseInt(s.toString());
|
int boxCount = Integer.parseInt(s.toString());
|
||||||
|
@ -405,19 +417,30 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
int totalPacks = boxCount * packsCount;
|
int totalPacks = boxCount * packsCount;
|
||||||
int totalPieces = totalPacks * piecesCount;
|
int totalPieces = totalPacks * piecesCount;
|
||||||
|
|
||||||
checkedItemPerBoxSelected.setText(String.valueOf(totalPacks));
|
if (store.isNewReportPresented()) {
|
||||||
checkedPiecesSelected.setText(String.valueOf(totalPieces));
|
//Log.e("bool-presented-1: ",""+store.isNewReportPresented());
|
||||||
|
//Log.e("bool-presented-2: ","true");
|
||||||
|
checkedItemPerBoxSelected.setText(String.valueOf(totalPacks));
|
||||||
|
checkedPiecesSelected.setText(String.valueOf(totalPieces));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//Log.e("bool-presented-3: ","false");
|
||||||
|
checkedItemPerBoxSelected.setText(String.valueOf(store.getReport().getItems().get(0).getCheckedPacksSelected()));
|
||||||
|
checkedPiecesSelected.setText(String.valueOf(store.getReport().getItems().get(0).getCheckedPiecesSelected()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
store.getReport().getItems().get(0).setCheckedCartonsSelected(Integer.parseInt(s.toString()));
|
store.getReport().getItems().get(0).setCheckedCartonsSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
store.getReport().getItems().get(0).setCheckedCartonsSelected(0);
|
store.getReport().getItems().get(0).setCheckedCartonsSelected(0);
|
||||||
|
store.setNewReportPresented(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
public void afterTextChanged(Editable s) {
|
||||||
|
//Log.e("afterTextChanged: ","***");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -430,7 +453,8 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
try {
|
try {
|
||||||
store.getReport().getItems().get(0).setPacksSelected(Long.parseLong(s.toString()));
|
//Log.e("bool-selected-onTextChanged: "," itemPerBoxSelected");
|
||||||
|
store.getReport().getItems().get(0).setPacksSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
store.getReport().getItems().get(0).setPacksSelected(0);
|
store.getReport().getItems().get(0).setPacksSelected(0);
|
||||||
}
|
}
|
||||||
|
@ -452,6 +476,7 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
try {
|
try {
|
||||||
|
//Log.e("bool-presented-onTextChanged: "," checkedItemPerBoxSelected");
|
||||||
store.getReport().getItems().get(0).setCheckedPacksSelected(Integer.parseInt(s.toString()));
|
store.getReport().getItems().get(0).setCheckedPacksSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
store.getReport().getItems().get(0).setCheckedPacksSelected(0);
|
store.getReport().getItems().get(0).setCheckedPacksSelected(0);
|
||||||
|
@ -473,7 +498,8 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
try {
|
try {
|
||||||
store.getReport().getItems().get(0).setPiecesSelected(Long.parseLong(s.toString()));
|
//Log.e("bool-selected-onTextChanged: "," piecesSelected");
|
||||||
|
store.getReport().getItems().get(0).setPiecesSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
store.getReport().getItems().get(0).setPiecesSelected(0);
|
store.getReport().getItems().get(0).setPiecesSelected(0);
|
||||||
}
|
}
|
||||||
|
@ -495,6 +521,7 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
try {
|
try {
|
||||||
|
//Log.e("bool-presented-onTextChanged: "," checkedPiecesSelected");
|
||||||
store.getReport().getItems().get(0).setCheckedPiecesSelected(Integer.parseInt(s.toString()));
|
store.getReport().getItems().get(0).setCheckedPiecesSelected(Integer.parseInt(s.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
store.getReport().getItems().get(0).setCheckedPiecesSelected(0);
|
store.getReport().getItems().get(0).setCheckedPiecesSelected(0);
|
||||||
|
@ -502,8 +529,8 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//calculate aql sample size
|
//calculate aql sample size
|
||||||
Log.e("ItemPresentedDetails-pieces: ", "" + s.toString());
|
//Log.e("ItemPresentedDetails-pieces: ", "" + s.toString());
|
||||||
Log.e("ItemPresentedDetails-inspectionLevel: ", "" + inspectionLevel);
|
//Log.e("ItemPresentedDetails-inspectionLevel: ", "" + inspectionLevel);
|
||||||
if (!s.toString().isEmpty() && s.toString() != null) {
|
if (!s.toString().isEmpty() && s.toString() != null) {
|
||||||
trackSampleCode(Integer.parseInt(s.toString()), (int) Double.parseDouble(inspectionLevel), Double.parseDouble(qualityLevelMajor), Double.parseDouble(qualityLevelMinor));
|
trackSampleCode(Integer.parseInt(s.toString()), (int) Double.parseDouble(inspectionLevel), Double.parseDouble(qualityLevelMajor), Double.parseDouble(qualityLevelMinor));
|
||||||
}
|
}
|
||||||
|
@ -756,6 +783,8 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
navController = Navigation.findNavController(requireView());
|
navController = Navigation.findNavController(requireView());
|
||||||
if (v.getId() == R.id.button_draft_first) {
|
if (v.getId() == R.id.button_draft_first) {
|
||||||
|
|
||||||
|
store.setNewReportPresented(false);
|
||||||
|
store.setNewReportSelected(false);
|
||||||
//--Draft Incomplete Report
|
//--Draft Incomplete Report
|
||||||
//Log.e("sku: ",""+sku.getText().toString());
|
//Log.e("sku: ",""+sku.getText().toString());
|
||||||
//Log.e("Market-place: ",""+store.getReport().getItems().get(0).getMarketplace());
|
//Log.e("Market-place: ",""+store.getReport().getItems().get(0).getMarketplace());
|
||||||
|
@ -810,6 +839,8 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
if (v.getId() == R.id.button_right_frag_1) {
|
if (v.getId() == R.id.button_right_frag_1) {
|
||||||
if (!sku.getText().toString().isEmpty() && !store.getReport().getItems().get(0).getMarketplace().equalsIgnoreCase("[ Marketplace ]")) {
|
if (!sku.getText().toString().isEmpty() && !store.getReport().getItems().get(0).getMarketplace().equalsIgnoreCase("[ Marketplace ]")) {
|
||||||
navController.navigate(R.id.action_firstStepFragment_to_secondStepFragment);
|
navController.navigate(R.id.action_firstStepFragment_to_secondStepFragment);
|
||||||
|
store.setNewReportPresented(false);
|
||||||
|
store.setNewReportSelected(false);
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(getContext(), "Please enter or scan sku details", Toast.LENGTH_SHORT).show();
|
Toast.makeText(getContext(), "Please enter or scan sku details", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
@ -933,7 +964,7 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
boxCarton.setText(boxCartonText);
|
boxCarton.setText(boxCartonText);
|
||||||
packagingDetails.setText(packagingDetailsText);
|
packagingDetails.setText(packagingDetailsText);
|
||||||
|
|
||||||
Log.e("Carton: ",""+String.valueOf(store.getReport().getItems().get(0).getCartonsSelected()));
|
//Log.e("Carton: ",""+String.valueOf(store.getReport().getItems().get(0).getCartonsSelected()));
|
||||||
|
|
||||||
boxCartonSelected.setText(String.valueOf(store.getReport().getItems().get(0).getCartonsSelected()));
|
boxCartonSelected.setText(String.valueOf(store.getReport().getItems().get(0).getCartonsSelected()));
|
||||||
//itemPerBoxSelected.setText(String.valueOf(store.getReport().getItems().get(0).getPacksSelected()));
|
//itemPerBoxSelected.setText(String.valueOf(store.getReport().getItems().get(0).getPacksSelected()));
|
||||||
|
@ -1247,7 +1278,7 @@ public class FirstStepFragment extends Fragment implements View.OnClickListener
|
||||||
+ "\nSampleSizeMinor: " + sampleSizeMinor;
|
+ "\nSampleSizeMinor: " + sampleSizeMinor;
|
||||||
|
|
||||||
txtTesting.setText(testDetails);
|
txtTesting.setText(testDetails);
|
||||||
Log.e("SampleSizeMajor: ",""+sampleSizeMajor);
|
//Log.e("SampleSizeMajor: ",""+sampleSizeMajor);
|
||||||
aqlSampleSize.setText(String.valueOf(sampleSizeMajor));
|
aqlSampleSize.setText(String.valueOf(sampleSizeMajor));
|
||||||
|
|
||||||
store.getReport().getItems().get(0).setSampleSize(sampleSizeMajor);
|
store.getReport().getItems().get(0).setSampleSize(sampleSizeMajor);
|
||||||
|
|
|
@ -442,6 +442,33 @@ public class ThirdStepFragment extends Fragment implements View.OnClickListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*private void saveReportDirectlyToServer(Store store) {
|
||||||
|
apiService.saveInspectionReport(store.getReport()).enqueue(new Callback<Map<String, String>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<Map<String, String>> call, Response<Map<String, String>> response) {
|
||||||
|
progressBar.setVisibility(View.GONE);
|
||||||
|
if (response.isSuccessful()) {
|
||||||
|
System.out.println(response.body());
|
||||||
|
Log.e("Response-Successful: ",""+response.body());
|
||||||
|
if (response.body().get("result").equalsIgnoreCase("success")) {
|
||||||
|
Toast.makeText(getContext(), "Report saved successfully", Toast.LENGTH_SHORT).show();
|
||||||
|
} else {
|
||||||
|
Toast.makeText(getContext(), "Error in saving report", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Toast.makeText(getContext(), "Error in saving report", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<Map<String, String>> call, Throwable t) {
|
||||||
|
progressBar.setVisibility(View.GONE);
|
||||||
|
Log.e("onFailure-message",""+t.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}*/
|
||||||
|
|
||||||
private void saveReportDialog() {
|
private void saveReportDialog() {
|
||||||
LayoutInflater inflater = LayoutInflater.from(getContext());
|
LayoutInflater inflater = LayoutInflater.from(getContext());
|
||||||
View dialogView = inflater.inflate(R.layout.save_report_dialog, null);
|
View dialogView = inflater.inflate(R.layout.save_report_dialog, null);
|
||||||
|
|
|
@ -9,6 +9,7 @@ import android.net.NetworkInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
@ -27,8 +28,10 @@ import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
@ -233,4 +236,70 @@ public class FileUtils {
|
||||||
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
|
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
|
||||||
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
|
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean copyFile(Context context, String sourcePath, String destFileName) {
|
||||||
|
try {
|
||||||
|
// Read bytes from source file
|
||||||
|
byte[] fileBytes = readFile(sourcePath);
|
||||||
|
|
||||||
|
// Write bytes to new file in external files directory
|
||||||
|
File destFile = new File(context.getExternalFilesDir(null), destFileName);
|
||||||
|
try (FileOutputStream fos = new FileOutputStream(destFile)) {
|
||||||
|
fos.write(fileBytes);
|
||||||
|
fos.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void exportFileToExternalStorage(final Context context, String internalFileName) {
|
||||||
|
try {
|
||||||
|
// Source: internal storage file
|
||||||
|
File internalFile = new File(context.getFilesDir(), internalFileName);
|
||||||
|
|
||||||
|
// Destination: external storage file
|
||||||
|
File externalFile = new File(context.getExternalFilesDir(null), internalFileName);
|
||||||
|
|
||||||
|
FileInputStream fis = new FileInputStream(internalFile);
|
||||||
|
FileOutputStream fos = new FileOutputStream(externalFile);
|
||||||
|
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int length;
|
||||||
|
while ((length = fis.read(buffer)) > 0) {
|
||||||
|
fos.write(buffer, 0, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
fis.close();
|
||||||
|
fos.close();
|
||||||
|
|
||||||
|
//Toast.makeText(this, "Exported to: " + externalFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object readSerializedObject(String filePath) {
|
||||||
|
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filePath))) {
|
||||||
|
return ois.readObject();
|
||||||
|
} catch (IOException | ClassNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void writeObjectToReadableFile(Context context, Object obj, String outputFileName) {
|
||||||
|
File outputFile = new File(context.getExternalFilesDir(null), outputFileName);
|
||||||
|
try (FileWriter writer = new FileWriter(outputFile)) {
|
||||||
|
writer.write(obj.toString()); // You can also use a JSON library here if needed
|
||||||
|
writer.flush();
|
||||||
|
Log.e("FileUtils", "Object written to: " + outputFile.getAbsolutePath());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -856,4 +856,15 @@
|
||||||
android:text="Add Dimensions" />
|
android:text="Add Dimensions" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
style="?android:attr/progressBarStyle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
Loading…
Reference in New Issue