diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/InjuryRecordForms/InjuryFormOne.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/InjuryRecordForms/InjuryFormOne.java index ca83153..f43ecfc 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/InjuryRecordForms/InjuryFormOne.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/InjuryRecordForms/InjuryFormOne.java @@ -1,6 +1,5 @@ package com.utopiaindustries.hseobservationsapp.activities.InjuryRecordForms; -import android.app.DatePickerDialog; import android.content.Context; import android.content.Intent; import android.graphics.Color; @@ -10,11 +9,12 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.AutoCompleteTextView; import android.widget.Button; -import android.widget.DatePicker; import android.widget.EditText; import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RadioButton; +import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; @@ -27,17 +27,10 @@ import androidx.core.view.WindowInsetsCompat; import androidx.lifecycle.ViewModelProvider; import com.utopiaindustries.hseobservationsapp.R; -import com.utopiaindustries.hseobservationsapp.adapters.ShiftAdapter; -import com.utopiaindustries.hseobservationsapp.models.HseData.Shift; import com.utopiaindustries.hseobservationsapp.utils.ProgressDialogFragment; import com.utopiaindustries.hseobservationsapp.utils.StorageManager.StorageManager; import com.utopiaindustries.hseobservationsapp.viewmodels.LoginViewModel; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Locale; - public class InjuryFormOne extends AppCompatActivity { Button btnNext, btnFetch; @@ -45,6 +38,14 @@ public class InjuryFormOne extends AppCompatActivity { EditText etEmpId, etEmployeeName, etEmployeeDesignation, etEmployeeTenure, etDate, etEmployeeType; ImageView imgBack; + RadioGroup rg1; + RadioButton rbEmployee, rbDailyWage; + + LinearLayout layoutEmployeeInfo, layoutDailyWageInfo; + EditText etLocationSite, etCnic, etContractorName, etDivision, etName; + TextView txtEmployeeHeading; + String workerType = ""; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -68,11 +69,21 @@ public class InjuryFormOne extends AppCompatActivity { btnFetch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (etEmpId.getText().toString().isEmpty()) { - Toast.makeText(InjuryFormOne.this, "Please enter employee id", Toast.LENGTH_SHORT).show(); - return; + if (workerType.equalsIgnoreCase("Visitor")) { + if (etEmpId.getText().toString().isEmpty()) { + Toast.makeText(InjuryFormOne.this, "Please enter visitor id", Toast.LENGTH_SHORT).show(); + return; + } + loginViewModel.getDailyWageWorkerData(etEmpId.getText().toString()); } - loginViewModel.getEmployeeData(etEmpId.getText().toString()); + else { + if (etEmpId.getText().toString().isEmpty()) { + Toast.makeText(InjuryFormOne.this, "Please enter employee id", Toast.LENGTH_SHORT).show(); + return; + } + loginViewModel.getEmployeeData(etEmpId.getText().toString()); + } + } }); @@ -87,6 +98,23 @@ public class InjuryFormOne extends AppCompatActivity { } }); + + rg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() + { + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (checkedId == R.id.rb_employee) { + layoutEmployeeInfo.setVisibility(View.VISIBLE); + layoutDailyWageInfo.setVisibility(View.GONE); + txtEmployeeHeading.setText("Employee ID Number *"); + workerType = "Employee"; + } else if (checkedId == R.id.rb_dailyWage) { + layoutEmployeeInfo.setVisibility(View.GONE); + layoutDailyWageInfo.setVisibility(View.VISIBLE); + txtEmployeeHeading.setText("Visitor ID *"); + workerType = "Visitor"; + } + } + }); } public void alertExit(Context con) { @@ -134,6 +162,16 @@ public class InjuryFormOne extends AppCompatActivity { btnNext = findViewById(R.id.btn_next); btnFetch = findViewById(R.id.btn_fetch); etEmpId = findViewById(R.id.et_employee_id_number); + + layoutEmployeeInfo = findViewById(R.id.layout_employee_info); + layoutDailyWageInfo = findViewById(R.id.layout_dailyWage_info); + + layoutEmployeeInfo.setVisibility(View.VISIBLE); + layoutDailyWageInfo.setVisibility(View.GONE); + workerType = "Employee"; + + txtEmployeeHeading = findViewById(R.id.txt_employee_heading); + etEmployeeName = findViewById(R.id.et_employee_name); etEmployeeDesignation = findViewById(R.id.et_employee_designation); etEmployeeTenure = findViewById(R.id.et_employee_tenure); @@ -141,6 +179,16 @@ public class InjuryFormOne extends AppCompatActivity { etEmployeeType = findViewById(R.id.et_employee_type); etDate = findViewById(R.id.et_date); + etLocationSite = findViewById(R.id.et_location_site); + etCnic = findViewById(R.id.et_cnic); + etContractorName = findViewById(R.id.et_contractor_name); + etDivision = findViewById(R.id.et_division); + etName = findViewById(R.id.et_name); + + rg1 = findViewById(R.id.rg1); + rbEmployee = findViewById(R.id.rb_employee); + rbDailyWage = findViewById(R.id.rb_dailyWage); + loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class); loginViewModel.getLoadingState().observe(this, isLoading -> { @@ -168,6 +216,17 @@ public class InjuryFormOne extends AppCompatActivity { } }); + + loginViewModel.getDailyWageLiveData().observe(this, dailyWageInfoResponse -> { + if (dailyWageInfoResponse != null) { + Log.e("Daily-Wage-Info: ",""+dailyWageInfoResponse.toString()); + etName.setText(dailyWageInfoResponse.getName()); + etLocationSite.setText(dailyWageInfoResponse.getLocationSite()); + etCnic.setText(dailyWageInfoResponse.getCnic()); + etContractorName.setText(dailyWageInfoResponse.getContractorName()); + etDivision.setText(dailyWageInfoResponse.getDivisionDepartment()); + } + }); } @Override @@ -197,7 +256,7 @@ public class InjuryFormOne extends AppCompatActivity { String message = ""; if (etEmpId.getText().toString().isEmpty()) { - message = "Employee ID is required."; + message = "ID is required."; returnValue = false; } diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/apiservice/ApiService.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/apiservice/ApiService.java index 11b1afa..a742b07 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/apiservice/ApiService.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/apiservice/ApiService.java @@ -1,5 +1,6 @@ package com.utopiaindustries.hseobservationsapp.apiservice; +import com.utopiaindustries.hseobservationsapp.models.HseData.DailyWageResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.EmployeeInfoResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.HseResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.HseSaveResponse; @@ -21,6 +22,11 @@ public interface ApiService { @Query("employee-id") String empId ); + @GET("rest/uic/hse/get-daily-wages-contractor-data-by-visit-id") + Call getDailyWageData( + @Query("visit-id") String visitorId + ); + @POST("rest/uic/hse/save-hse-report") Call saveHseReport( @Body HseReportRequest request diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/DailyWageResponse.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/DailyWageResponse.java new file mode 100644 index 0000000..b6863b6 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/DailyWageResponse.java @@ -0,0 +1,65 @@ + +package com.utopiaindustries.hseobservationsapp.models.HseData; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class DailyWageResponse { + + @SerializedName("Location-Site") + @Expose + private String locationSite; + @SerializedName("Cnic") + @Expose + private String cnic; + @SerializedName("Contractor-Name") + @Expose + private String contractorName; + @SerializedName("Division-Department") + @Expose + private String divisionDepartment; + @SerializedName("Name") + @Expose + private String name; + + public String getLocationSite() { + return locationSite; + } + + public void setLocationSite(String locationSite) { + this.locationSite = locationSite; + } + + public String getCnic() { + return cnic; + } + + public void setCnic(String cnic) { + this.cnic = cnic; + } + + public String getContractorName() { + return contractorName; + } + + public void setContractorName(String contractorName) { + this.contractorName = contractorName; + } + + public String getDivisionDepartment() { + return divisionDepartment; + } + + public void setDivisionDepartment(String divisionDepartment) { + this.divisionDepartment = divisionDepartment; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/viewmodels/LoginViewModel.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/viewmodels/LoginViewModel.java index 9af9850..facc3d2 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/viewmodels/LoginViewModel.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/viewmodels/LoginViewModel.java @@ -9,6 +9,7 @@ import androidx.lifecycle.ViewModel; import com.utopiaindustries.hseobservationsapp.apiservice.ApiService; import com.utopiaindustries.hseobservationsapp.apiservice.ApiServiceFactory; +import com.utopiaindustries.hseobservationsapp.models.HseData.DailyWageResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.EmployeeInfoResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.HseResponse; import com.utopiaindustries.hseobservationsapp.models.HseData.HseSaveResponse; @@ -23,6 +24,7 @@ import retrofit2.http.PUT; public class LoginViewModel extends ViewModel { private MutableLiveData employeeLiveData; + private MutableLiveData dailyWageLiveData; private MutableLiveData userLiveData; private MutableLiveData userSaveLiveData; private MutableLiveData userLoginLiveData; @@ -34,6 +36,7 @@ public class LoginViewModel extends ViewModel { apiService = ApiServiceFactory.getApiService(); userLiveData = new MutableLiveData<>(); employeeLiveData = new MutableLiveData<>(); + dailyWageLiveData = new MutableLiveData<>(); userSaveLiveData = new MutableLiveData<>(); userLoginLiveData = new MutableLiveData<>(); errorLiveData = new MutableLiveData<>(); @@ -45,6 +48,11 @@ public class LoginViewModel extends ViewModel { return employeeLiveData; } + public LiveData getDailyWageLiveData() + { + return dailyWageLiveData; + } + public LiveData getUserLiveData() { return userLiveData; } @@ -109,6 +117,29 @@ public class LoginViewModel extends ViewModel { }); } + public void getDailyWageWorkerData(String visitorId) { + isLoading.setValue(true); + apiService.getDailyWageData(visitorId).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + isLoading.setValue(false); + if (response.isSuccessful() && response.body() != null) { + //Log.e("onResponse: ", "Successful"); + dailyWageLiveData.setValue(response.body()); + } else { + errorLiveData.setValue(response.message()); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + //Log.e("onResponse: ", "Fail"); + isLoading.setValue(false); + errorLiveData.setValue(t.getMessage()); + } + }); + } + public void getHSEData() { isLoading.setValue(true); apiService.getHseData().enqueue(new Callback() { diff --git a/app/src/main/res/layout/activity_injury_form_one.xml b/app/src/main/res/layout/activity_injury_form_one.xml index 205a090..fdb91da 100644 --- a/app/src/main/res/layout/activity_injury_form_one.xml +++ b/app/src/main/res/layout/activity_injury_form_one.xml @@ -41,219 +41,391 @@ app:layout_constraintTop_toTopOf="@+id/toolbar" app:srcCompat="@drawable/arrow_back" /> - + + + + + + + + + - - - - - - - -