From 316589220bc98e4ecd18b5533d55bf7c8fb8c060 Mon Sep 17 00:00:00 2001 From: "saad.siddiq" Date: Tue, 13 May 2025 17:50:06 +0500 Subject: [PATCH] Permit to work module working --- app/src/main/AndroidManifest.xml | 1 + .../PermitToWorkForms/PermitOneActivity.java | 196 +++++++++++++++++- .../PermitToWorkForms/PermitTwoActivity.java | 42 +++- .../adapters/BuildingsAdapter.java | 41 ++++ .../adapters/FloorsAdapter.java | 41 ++++ .../adapters/HsePtwTypeAdapter.java | 86 ++++++++ .../adapters/WorkingTeamAdapter.java | 41 ++++ .../fragments/HomeFragment.java | 5 + .../hseobservationsapp/helper/Helper.java | 1 + .../models/HseData/HseBuilding.java | 5 + .../models/HseData/HseFloor.java | 5 + .../models/HseData/HsePtwType.java | 10 + .../models/HseData/HseResponse.java | 12 ++ .../models/HseData/HseWorkingTeam.java | 37 ++++ .../StorageManager/PermitToWorkModel.java | 81 ++++++++ .../utils/StorageManager/StorageManager.java | 13 ++ .../main/res/drawable/ic_arrow_drop_down.xml | 10 + .../main/res/layout/activity_permit_one.xml | 14 +- .../main/res/layout/activity_permit_two.xml | 3 +- app/src/main/res/layout/dialog_recycler.xml | 11 + app/src/main/res/layout/item_ptw_type.xml | 22 ++ 21 files changed, 662 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/BuildingsAdapter.java create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/FloorsAdapter.java create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/HsePtwTypeAdapter.java create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/WorkingTeamAdapter.java create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseWorkingTeam.java create mode 100644 app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/PermitToWorkModel.java create mode 100644 app/src/main/res/drawable/ic_arrow_drop_down.xml create mode 100644 app/src/main/res/layout/dialog_recycler.xml create mode 100644 app/src/main/res/layout/item_ptw_type.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4a6f9bb..01344a0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -85,6 +85,7 @@ locationArrayList_temp = new ArrayList<>(); + private ArrayList locationArrayList = new ArrayList<>(); + private BuildingsAdapter buildingAdapter; + + private ArrayList subLocationArrayList_temp = new ArrayList<>(); + private ArrayList subLocationArrayList = new ArrayList<>(); + private FloorsAdapter floorsAdapter; + + private ArrayList ptwTypeArrayList = new ArrayList<>(); + private HsePtwTypeAdapter ptwTypeAdapter; + + + private ArrayList workingTeamArrayList = new ArrayList<>(); + private WorkingTeamAdapter workingTeamAdapter; + + String location = "", subLocation = "", ptwType = "", workingTeam = ""; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -44,8 +91,45 @@ public class PermitOneActivity extends AppCompatActivity { btnNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent intent = new Intent(PermitOneActivity.this, PermitTwoActivity.class); - startActivity(intent); + if (isValidate()) { + Intent intent = new Intent(PermitOneActivity.this, PermitTwoActivity.class); + startActivity(intent); + } + } + }); + + locationTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + location = locationArrayList.get(position).getTitle(); + StorageManager.getInstance().getPermitToWorkModel().get(0).setLocationId(locationArrayList.get(position).getId()); + } + }); + + subLocationTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + subLocation = subLocationArrayList.get(position).getTitle(); + StorageManager.getInstance().getPermitToWorkModel().get(0).setSubLocationId(subLocationArrayList.get(position).getId()); + } + }); + + ptwTypeTextView.setOnClickListener(v -> { + showMultiSelectDialog(ptwTypeArrayList, ptwTypeTextView); + }); + + //ptwTextInputLayout + ptwTextInputLayout.setEndIconMode(TextInputLayout.END_ICON_CUSTOM); + ptwTextInputLayout.setEndIconDrawable(R.drawable.ic_arrow_drop_down); + ptwTextInputLayout.setOnClickListener(v -> { + showMultiSelectDialog(ptwTypeArrayList, ptwTypeTextView); + }); + + workingTeamTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + workingTeam = workingTeamArrayList.get(position).getTitle(); + StorageManager.getInstance().getPermitToWorkModel().get(0).setWorkingTeamId(workingTeamArrayList.get(position).getId()); } }); @@ -56,5 +140,113 @@ public class PermitOneActivity extends AppCompatActivity { btnNext = findViewById(R.id.btn_next); imgBack = findViewById(R.id.img_back); + locationTextview = findViewById(R.id.location_textview); + subLocationTextView = findViewById(R.id.sub_location_textview); + ptwTypeTextView = findViewById(R.id.ptw_type_textview); + ptwTextInputLayout = findViewById(R.id.ptw_type_input); + + ptwTypeTextView.setFocusable(false); + ptwTypeTextView.setCursorVisible(false); + ptwTypeTextView.setKeyListener(null); // disables keyboard + ptwTypeTextView.setClickable(true); + + workingTeamTextView = findViewById(R.id.working_team_textview); + + locationArrayList_temp.addAll(Helper.getList(Helper.hseBuildings, this, HseBuilding.class)); + + //Location -- Building + if (!locationArrayList_temp.isEmpty()) { + + List filteredUnitItems = locationArrayList_temp.stream() + .filter(item -> Objects.equals(item.getSiteId(), StorageManager.getInstance().getSite_id())) + .collect(Collectors.toList()); + + locationArrayList.clear(); + locationArrayList.addAll(filteredUnitItems); + buildingAdapter = new BuildingsAdapter(this, locationArrayList); + locationTextview.setAdapter(buildingAdapter); + } + + subLocationArrayList_temp.addAll(Helper.getList(Helper.hseFloors, this, HseFloor.class)); + + //Sub Location -- floor + if (!subLocationArrayList_temp.isEmpty()) { + + List filteredUnitItems = subLocationArrayList_temp.stream() + .filter(item -> Objects.equals(item.getSiteId(), StorageManager.getInstance().getSite_id())) + .collect(Collectors.toList()); + + subLocationArrayList.clear(); + subLocationArrayList.addAll(filteredUnitItems); + floorsAdapter = new FloorsAdapter(this, subLocationArrayList); + subLocationTextView.setAdapter(floorsAdapter); + } + + ptwTypeArrayList.addAll(Helper.getList(Helper.hsePtwType, this, HsePtwType.class)); + + workingTeamArrayList.addAll(Helper.getList(Helper.hseWorkingTeams, this, HseWorkingTeam.class)); + workingTeamAdapter = new WorkingTeamAdapter(this, workingTeamArrayList); + workingTeamTextView.setAdapter(workingTeamAdapter); + } + + public boolean isValidate() { + boolean returnValue = true; + String message = ""; + + /*if (workingTeam.isEmpty()) { + message = "Please select working type."; + returnValue = false; + }*/ + + if (ptwType.isEmpty()) { + message = "Please select ptw Type."; + returnValue = false; + } + + if (subLocation.isEmpty()) { + message = "Please select sub location."; + returnValue = false; + } + + if (location.isEmpty()) { + message = "Please select location."; + returnValue = false; + } + + if (!returnValue) { + Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); + } + + return returnValue; + } + + private void showMultiSelectDialog(List ptwList, AutoCompleteTextView textView) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + View dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_recycler, null); + builder.setView(dialogView); + + @SuppressLint({"MissingInflatedId", "LocalSuppress"}) RecyclerView recyclerView = dialogView.findViewById(R.id.dialogRecyclerView); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + HsePtwTypeAdapter adapter = new HsePtwTypeAdapter(this, ptwList); + recyclerView.setAdapter(adapter); + + builder.setPositiveButton("OK", (dialog, which) -> { + List selected = adapter.getSelectedItems(); + if (selected.size() != 2) { + Toast.makeText(this, "Please select exactly 2 items", Toast.LENGTH_SHORT).show(); + return; + } + + String selectedTitles = selected.get(0).getTitle() + ", " + selected.get(1).getTitle(); + textView.setText(selectedTitles); + ptwType = selectedTitles; + }); + + builder.setNegativeButton("Cancel", (dialog, which) -> dialog.dismiss()); + + AlertDialog dialog = builder.create(); + dialog.show(); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/PermitToWorkForms/PermitTwoActivity.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/PermitToWorkForms/PermitTwoActivity.java index cdd372b..b8777af 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/PermitToWorkForms/PermitTwoActivity.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/activities/PermitToWorkForms/PermitTwoActivity.java @@ -16,11 +16,16 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; +import android.text.Editable; +import android.text.InputType; +import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.inputmethod.EditorInfo; import android.widget.Button; import android.widget.CheckBox; +import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -45,6 +50,7 @@ import com.utopiaindustries.hseobservationsapp.activities.DashboardActivity; import com.utopiaindustries.hseobservationsapp.activities.ObservationForms.ObservationThreeActivity; import com.utopiaindustries.hseobservationsapp.adapters.PTWImageAdapter; import com.utopiaindustries.hseobservationsapp.models.DocumentTypeImageModel; +import com.utopiaindustries.hseobservationsapp.utils.StorageManager.StorageManager; import java.io.ByteArrayOutputStream; import java.io.File; @@ -67,13 +73,14 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi RecyclerView ptwRecyclerView; PTWImageAdapter imagePaperAdapter; String paperFilePath = "no_pic"; - ArrayList PaperImageList = new ArrayList<>(); + ArrayList imageList = new ArrayList<>(); String docTypeId = ""; String docTypeTitle = ""; private static final int CAMERA_REQUEST_PAPER = 101; private static final int GALLERY_REQUEST = 201; ImageView imgUpload, imgBack; Button btnSubmit; + EditText etDescription; // Activity Result Launcher for Gallery private final ActivityResultLauncher imagePickerLauncher = @@ -96,8 +103,8 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi //Log.e("doc-image: ",""+ documentImage); - int position = PaperImageList.size(); - PaperImageList.add(compressedImage); + int position = imageList.size(); + imageList.add(compressedImage); imagePaperAdapter.notifyItemInserted(position); }); }, @@ -144,8 +151,8 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi //Log.e("doc-image: ",""+ documentImage); - int position = PaperImageList.size(); - PaperImageList.add(imageBytes); + int position = imageList.size(); + imageList.add(imageBytes); imagePaperAdapter.notifyItemInserted(position); }); @@ -185,6 +192,7 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi public void onClick(View v) { if (checkboxCompany.isChecked()) { checkboxContractor.setChecked(false); + StorageManager.getInstance().getPermitToWorkModel().get(0).setWorkingPartyType("Company"); } } }); @@ -194,6 +202,7 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi public void onClick(View v) { if (checkboxContractor.isChecked()) { checkboxCompany.setChecked(false); + StorageManager.getInstance().getPermitToWorkModel().get(0).setWorkingPartyType("Contractor"); } } }); @@ -215,6 +224,7 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + StorageManager.getInstance().getPermitToWorkModel().get(0).setPictures(imageList); Toast.makeText(PermitTwoActivity.this,"Reported Submitted",Toast.LENGTH_SHORT).show(); Intent intent = new Intent(PermitTwoActivity.this, DashboardActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); @@ -223,6 +233,23 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } }); + + etDescription.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + StorageManager.getInstance().getPermitToWorkModel().get(0).setDescription(s.toString()); + } + + @Override + public void afterTextChanged(Editable s) { + + } + }); } @SuppressLint("MissingInflatedId") @@ -292,10 +319,13 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi imgUpload = findViewById(R.id.img_upload); imgBack = findViewById(R.id.img_back); btnSubmit = findViewById(R.id.btn_submit); + etDescription = findViewById(R.id.et_description); + etDescription.setImeOptions(EditorInfo.IME_ACTION_DONE); + etDescription.setRawInputType(InputType.TYPE_CLASS_TEXT); ptwRecyclerView = findViewById(R.id.ptwRecyclerView); - imagePaperAdapter = new PTWImageAdapter(PaperImageList, this, ""); + imagePaperAdapter = new PTWImageAdapter(imageList, this, ""); ptwRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)); ptwRecyclerView.setAdapter(imagePaperAdapter); diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/BuildingsAdapter.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/BuildingsAdapter.java new file mode 100644 index 0000000..4222e55 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/BuildingsAdapter.java @@ -0,0 +1,41 @@ +package com.utopiaindustries.hseobservationsapp.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import com.utopiaindustries.hseobservationsapp.R; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseBuilding; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseDepartment; + +import java.util.List; + +public class BuildingsAdapter extends ArrayAdapter { + + private final Context context; + private final List items; + + public BuildingsAdapter(Context context, List items) { + super(context, 0, items); + this.context = context; + this.items = items; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.list_items, parent, false); + } + + HseBuilding item = items.get(position); + + TextView titleTextView = convertView.findViewById(R.id.item_text); + + titleTextView.setText(item.getTitle()); + + return convertView; + } +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/FloorsAdapter.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/FloorsAdapter.java new file mode 100644 index 0000000..f5a0667 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/FloorsAdapter.java @@ -0,0 +1,41 @@ +package com.utopiaindustries.hseobservationsapp.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import com.utopiaindustries.hseobservationsapp.R; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseBuilding; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseFloor; + +import java.util.List; + +public class FloorsAdapter extends ArrayAdapter { + + private final Context context; + private final List items; + + public FloorsAdapter(Context context, List items) { + super(context, 0, items); + this.context = context; + this.items = items; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.list_items, parent, false); + } + + HseFloor item = items.get(position); + + TextView titleTextView = convertView.findViewById(R.id.item_text); + + titleTextView.setText(item.getTitle()); + + return convertView; + } +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/HsePtwTypeAdapter.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/HsePtwTypeAdapter.java new file mode 100644 index 0000000..6c64c05 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/HsePtwTypeAdapter.java @@ -0,0 +1,86 @@ +package com.utopiaindustries.hseobservationsapp.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.utopiaindustries.hseobservationsapp.R; +import com.utopiaindustries.hseobservationsapp.models.HseData.HsePtwType; + +import java.util.ArrayList; +import java.util.List; + +public class HsePtwTypeAdapter extends RecyclerView.Adapter { + + private List list; + private Context context; + + public HsePtwTypeAdapter(Context context, List list) { + this.context = context; + this.list = list; + } + + public List getSelectedItems() { + List selected = new ArrayList<>(); + for (HsePtwType item : list) { + if (item.isSelected()) selected.add(item); + } + return selected; + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(context).inflate(R.layout.item_ptw_type, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + HsePtwType item = list.get(position); + holder.title.setText(item.getTitle()); + holder.checkbox.setChecked(item.isSelected()); + + holder.checkbox.setOnCheckedChangeListener(null); // Clear previous listener + + holder.checkbox.setOnCheckedChangeListener((buttonView, isChecked) -> { + int selectedCount = getSelectedItems().size(); + + if (isChecked && selectedCount >= 2) { + holder.checkbox.setChecked(false); + Toast.makeText(context, "Only 2 selections allowed", Toast.LENGTH_SHORT).show(); + } else { + item.setSelected(isChecked); + } + }); + + holder.itemView.setOnClickListener(v -> { + boolean newCheckedState = !holder.checkbox.isChecked(); + holder.checkbox.setChecked(newCheckedState); + }); + } + + @Override + public int getItemCount() { + return list.size(); + } + + public static class ViewHolder extends RecyclerView.ViewHolder { + CheckBox checkbox; + TextView title; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + checkbox = itemView.findViewById(R.id.checkbox); + title = itemView.findViewById(R.id.title); + } + } +} + diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/WorkingTeamAdapter.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/WorkingTeamAdapter.java new file mode 100644 index 0000000..b64b251 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/adapters/WorkingTeamAdapter.java @@ -0,0 +1,41 @@ +package com.utopiaindustries.hseobservationsapp.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import com.utopiaindustries.hseobservationsapp.R; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseBuilding; +import com.utopiaindustries.hseobservationsapp.models.HseData.HseWorkingTeam; + +import java.util.List; + +public class WorkingTeamAdapter extends ArrayAdapter { + + private final Context context; + private final List items; + + public WorkingTeamAdapter(Context context, List items) { + super(context, 0, items); + this.context = context; + this.items = items; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.list_items, parent, false); + } + + HseWorkingTeam item = items.get(position); + + TextView titleTextView = convertView.findViewById(R.id.item_text); + + titleTextView.setText(item.getTitle()); + + return convertView; + } +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/fragments/HomeFragment.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/fragments/HomeFragment.java index 261ce4e..918c946 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/fragments/HomeFragment.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/fragments/HomeFragment.java @@ -303,6 +303,11 @@ public class HomeFragment extends Fragment { Helper.saveList(qcResponse.getHseBuildings(), Helper.hseBuildings, getActivity()); } + if (!qcResponse.getHseWorkingTeam().isEmpty()) { + + Helper.saveList(qcResponse.getHseWorkingTeam(), Helper.hseWorkingTeams, getActivity()); + } + if (!qcResponse.getHseInjuries().isEmpty()) { Helper.saveList(qcResponse.getHseInjuries(), Helper.hseInjuries, getActivity()); diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/helper/Helper.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/helper/Helper.java index 0cc9fb2..fba93b3 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/helper/Helper.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/helper/Helper.java @@ -50,6 +50,7 @@ public class Helper { public static final String hseSafetyTrainingTopics = "hseSafetyTrainingTopics"; public static final String hseBuildings = "hseBuildings"; + public static final String hseWorkingTeams = "hseWorkingTeams"; public static final String hseInjuries = "hseInjuries"; diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseBuilding.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseBuilding.java index b3d037d..8857195 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseBuilding.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseBuilding.java @@ -40,4 +40,9 @@ public class HseBuilding { this.title = title; } + @Override + public String toString() { + return title; + } + } diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseFloor.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseFloor.java index d284193..f4c97ae 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseFloor.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseFloor.java @@ -40,4 +40,9 @@ public class HseFloor { this.title = title; } + @Override + public String toString() { + return title; + } + } diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HsePtwType.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HsePtwType.java index 127256b..b70e81f 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HsePtwType.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HsePtwType.java @@ -13,6 +13,8 @@ public class HsePtwType { @Expose private String title; + private boolean isSelected = false; + public Integer getId() { return id; } @@ -29,4 +31,12 @@ public class HsePtwType { this.title = title; } + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } + } diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseResponse.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseResponse.java index 886e227..fa5c82e 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseResponse.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseResponse.java @@ -43,6 +43,9 @@ public class HseResponse { @SerializedName("hseBuildings") @Expose private List hseBuildings; + @SerializedName("hseWorkingTeam") + @Expose + private List hseWorkingTeam; @SerializedName("hseInjuries") @Expose private List hseInjuries; @@ -146,6 +149,15 @@ public class HseResponse { this.hseBuildings = hseBuildings; } + public List getHseWorkingTeam() { + return hseWorkingTeam; + } + + public void setHseWorkingTeam(List hseWorkingTeam) { + this.hseWorkingTeam = hseWorkingTeam; + } + + public List getHseInjuries() { return hseInjuries; } diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseWorkingTeam.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseWorkingTeam.java new file mode 100644 index 0000000..447d9f3 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/models/HseData/HseWorkingTeam.java @@ -0,0 +1,37 @@ + +package com.utopiaindustries.hseobservationsapp.models.HseData; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class HseWorkingTeam { + + @SerializedName("id") + @Expose + private Integer id; + @SerializedName("title") + @Expose + private String title; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return title; + } + +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/PermitToWorkModel.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/PermitToWorkModel.java new file mode 100644 index 0000000..2dbe266 --- /dev/null +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/PermitToWorkModel.java @@ -0,0 +1,81 @@ +package com.utopiaindustries.hseobservationsapp.utils.StorageManager; + +import java.util.List; + +public class PermitToWorkModel { + + private int locationId; + private int subLocationId; + private int typeId; + private int subTypeId; + private int workingTeamId; + private String workingPartyType; + + private String description; + + private List pictures; + + public int getLocationId() { + return locationId; + } + + public void setLocationId(int locationId) { + this.locationId = locationId; + } + + public int getSubLocationId() { + return subLocationId; + } + + public void setSubLocationId(int subLocationId) { + this.subLocationId = subLocationId; + } + + public int getTypeId() { + return typeId; + } + + public void setTypeId(int typeId) { + this.typeId = typeId; + } + + public int getSubTypeId() { + return subTypeId; + } + + public void setSubTypeId(int subTypeId) { + this.subTypeId = subTypeId; + } + + public int getWorkingTeamId() { + return workingTeamId; + } + + public void setWorkingTeamId(int workingTeamId) { + this.workingTeamId = workingTeamId; + } + + public String getWorkingPartyType() { + return workingPartyType; + } + + public void setWorkingPartyType(String workingPartyType) { + this.workingPartyType = workingPartyType; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public List getPictures() { + return pictures; + } + + public void setPictures(List pictures) { + this.pictures = pictures; + } +} diff --git a/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/StorageManager.java b/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/StorageManager.java index 83b34ea..b3636dc 100644 --- a/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/StorageManager.java +++ b/app/src/main/java/com/utopiaindustries/hseobservationsapp/utils/StorageManager/StorageManager.java @@ -21,6 +21,7 @@ public class StorageManager { private List observationsModel; private List reportActivityModel; private List progressiveActivityModel; + private List permitToWorkModel; private StorageManager() { @@ -44,6 +45,9 @@ public class StorageManager { progressiveActivityModel = new ArrayList<>(); progressiveActivityModel.add(new ReportActivityModel()); + + permitToWorkModel = new ArrayList<>(); + permitToWorkModel.add(new PermitToWorkModel()); } public String getObservation_date() { @@ -134,6 +138,14 @@ public class StorageManager { this.progressiveActivityModel = progressiveActivityModel; } + public List getPermitToWorkModel() { + return permitToWorkModel; + } + + public void setPermitToWorkModel(List permitToWorkModel) { + this.permitToWorkModel = permitToWorkModel; + } + public void clearAllData() { observation_date = null; @@ -148,5 +160,6 @@ public class StorageManager { observationsModel.clear(); reportActivityModel.clear(); progressiveActivityModel.clear(); + permitToWorkModel.clear(); } } diff --git a/app/src/main/res/drawable/ic_arrow_drop_down.xml b/app/src/main/res/drawable/ic_arrow_drop_down.xml new file mode 100644 index 0000000..bc3d42c --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_drop_down.xml @@ -0,0 +1,10 @@ + + + + diff --git a/app/src/main/res/layout/activity_permit_one.xml b/app/src/main/res/layout/activity_permit_one.xml index dc2337e..bd61979 100644 --- a/app/src/main/res/layout/activity_permit_one.xml +++ b/app/src/main/res/layout/activity_permit_one.xml @@ -59,7 +59,7 @@ - - + --> + + + diff --git a/app/src/main/res/layout/item_ptw_type.xml b/app/src/main/res/layout/item_ptw_type.xml new file mode 100644 index 0000000..e43de3e --- /dev/null +++ b/app/src/main/res/layout/item_ptw_type.xml @@ -0,0 +1,22 @@ + + + + + + +