Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package codelabs.siloam.fragment;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v4.app.Fragment;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.text.TextUtils;
- import android.view.KeyEvent;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.inputmethod.EditorInfo;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- import butterknife.OnClick;
- import butterknife.Unbinder;
- import codelabs.siloam.R;
- import codelabs.siloam.activity.AssetDetailActivity;
- import codelabs.siloam.activity.ScanActivity;
- import codelabs.siloam.activity.SelectActivity;
- import codelabs.siloam.activity.SelectBigActivity;
- import codelabs.siloam.activity.StockOpnameDetailActivity;
- import codelabs.siloam.adapter.LibraryAdapter;
- import codelabs.siloam.adapter.StockOpnameAdapter;
- import codelabs.siloam.connection.ApiUtils;
- import codelabs.siloam.connection.AppConstant;
- import codelabs.siloam.connection.DataManager;
- import codelabs.siloam.connection.RetrofitInterface;
- import codelabs.siloam.custom.RecyclerTouchListener;
- import codelabs.siloam.custom.SpacingItemDecoration;
- import codelabs.siloam.dialog.DialogProgress;
- import codelabs.siloam.model.GetAssetByDepartment;
- import codelabs.siloam.model.GetBarcodeScan;
- import codelabs.siloam.model.GetChecklistForm;
- import codelabs.siloam.model.GetDepartment;
- import codelabs.siloam.model.GetEquipment;
- import codelabs.siloam.model.LibraryItem;
- import codelabs.siloam.model.SelectItem;
- import codelabs.siloam.utils.MyLog;
- import codelabs.siloam.utils.RecentUtils;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public class StockOpnameFragment extends Fragment implements View.OnClickListener {
- // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
- private static final String ARG_TEXT = "param1";
- private static final int SELECT_DEPARTMENT = 111;
- private static final int SELECT_EQUIPMENT = 222;
- private static final int SELECT_SCAN = 123;
- @BindView(R.id.ed_department)
- EditText edDepartment;
- @BindView(R.id.ed_equipment)
- EditText edEquipment;
- @BindView(R.id.btn_scan)
- TextView btnScan;
- @BindView(R.id.ed_serial_number)
- EditText edSerialNumber;
- @BindView(R.id.recycler_view)
- RecyclerView recyclerView;
- @Nullable
- private int pageText;
- Unbinder unbinder;
- private DialogProgress dialogProgress;
- private Toast mToast;
- private StockOpnameAdapter mAdapter;
- private ArrayList<SelectItem> itemsDepartment = new ArrayList<>();
- private String selectedDepartmentID;
- private ArrayList<SelectItem> itemsEquipment = new ArrayList<>();
- private String selectedEquipmentID;
- Call<GetDepartment> callDepartment;
- Call<GetEquipment> callEq;
- private List<GetAssetByDepartment.DATABean> responseData = new ArrayList<>();
- public StockOpnameFragment() {
- // Required empty public constructor
- }
- public static StockOpnameFragment newInstance(@NonNull final int pageText) {
- StockOpnameFragment fragment = new StockOpnameFragment();
- Bundle args = new Bundle();
- args.putInt(ARG_TEXT, pageText);
- fragment.setArguments(args);
- return fragment;
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (getArguments() != null) {
- pageText = getArguments().getInt(ARG_TEXT);
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- // Set title
- ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(getResources().getString(R.string.history_menu));
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_stock_opname, container, false);
- unbinder = ButterKnife.bind(this, view);
- edDepartment.setOnClickListener(this);
- edEquipment.setOnClickListener(this);
- btnScan.setOnClickListener(this);
- // edSerialNumber.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- // @Override
- // public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- // if ((event !=null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)){
- // loadBarcodeScan(edSerialNumber.getText().toString());
- // }
- // return false;
- // }
- // });
- return view;
- }
- // private void loadBarcodeScan(String barcode) {
- //
- // showDialogProgress("Getting Barcode Data");
- //
- // RetrofitInterface apiService = ApiUtils.getAPIService();
- // String auth = AppConstant.AuthValue + DataManager.getInstance().getToken();
- // Map<String, String> params = new HashMap<>();
- // params.put("barcode", barcode);
- // Call<GetBarcodeScan> call = apiService.gettingBarcodeScan(auth, params);
- // call.enqueue(new Callback<GetBarcodeScan>() {
- // }
- // }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- unbinder.unbind();
- if(callDepartment != null)
- callDepartment.cancel();
- if(callEq != null)
- callEq.cancel();
- }
- public void showDialogProgress(String message) {
- if (message != null) {
- dialogProgress = new DialogProgress(getContext(), message, true);
- dialogProgress.setCancelable(false);
- dialogProgress.show();
- } else {
- dialogProgress = new DialogProgress(getContext(), "Loading ...", false);
- dialogProgress.setCancelable(false);
- dialogProgress.show();
- }
- }
- public void hideDialogProgress() {
- if (dialogProgress != null) {
- if (dialogProgress.isShowing()) {
- dialogProgress.dismiss();
- }
- }
- }
- public void showToast(String val) {
- if (mToast != null) mToast.cancel();
- mToast = Toast.makeText(getContext(), val, Toast.LENGTH_SHORT);
- mToast.show();
- }
- @Override
- public void onClick(View view) {
- if(view == edDepartment){
- if (itemsDepartment.size() == 0)
- loadDepartment();
- else
- openSelectDepartment();
- }else if(view == edEquipment){
- if (itemsEquipment.size() == 0)
- loadEquipment();
- else
- openSelectEquipment();
- }else if(view == btnScan){
- Intent intent = new Intent(getContext(),ScanActivity.class);
- startActivityForResult(intent, SELECT_SCAN);
- }
- }
- // @OnClick(R.id.btn_start)
- // public void onViewClicked() {
- //// doGetAsset();
- //
- // if(TextUtils.isEmpty(selectedDepartmentID)){
- // showToast("Please select department");
- // return;
- // }
- //
- //
- // Intent intent = new Intent(getContext(),StockOpnameDetailActivity.class);
- // intent.putExtra(StockOpnameDetailActivity.DEPARTMENT_ID, selectedDepartmentID);
- // intent.putExtra(StockOpnameDetailActivity.EQUIPMENT_ID, selectedEquipmentID);
- // startActivity(intent);
- // }
- private void loadDepartment() {
- showDialogProgress("Getting Department List");
- Map<String, String> params = new HashMap<>();
- params.put("hospital_id", DataManager.getInstance().getHospital_id()+"");
- RetrofitInterface apiService = ApiUtils.getAPIService();
- String auth = AppConstant.AuthValue + DataManager.getInstance().getToken();
- callDepartment = apiService.gettingDepartment(auth,params);
- callDepartment.enqueue(new Callback<GetDepartment>() {
- @Override
- public void onResponse(@NonNull Call<GetDepartment> call, @NonNull Response<GetDepartment> data) {
- hideDialogProgress();
- if (data.isSuccessful()) {
- GetDepartment response = data.body();
- if (response != null) {
- if (response.getSTATUS() == 200) {
- List<GetDepartment.DATABean> responseDATA = response.getDATA();
- for (GetDepartment.DATABean dataBean : responseDATA) {
- itemsDepartment.add(new SelectItem(dataBean.getId() + "", dataBean.getName(), dataBean.getDescription()));
- }
- openSelectDepartment();
- } else {
- showToast(response.getMESSAGE());
- }
- } else {
- showToast(getString(R.string.no_response));
- }
- } else {
- RecentUtils.handleRetrofitError(data.code());
- }
- }
- @Override
- public void onFailure(@NonNull Call<GetDepartment> call, @NonNull Throwable t) {
- if (!call.isCanceled()) {
- hideDialogProgress();
- MyLog.logE(t.getMessage());
- showToast(getString(R.string.network_error));
- }
- }
- });
- }
- private void openSelectDepartment() {
- Intent intent = new Intent(getContext(), SelectActivity.class);
- intent.putExtra(SelectActivity.TITLE, getString(R.string.input_department));
- intent.putParcelableArrayListExtra(SelectActivity.ITEMS, itemsDepartment);
- startActivityForResult(intent, SELECT_DEPARTMENT);
- }
- private void loadEquipment() {
- showDialogProgress("Getting Equipment List");
- RetrofitInterface apiService = ApiUtils.getAPIService();
- String auth = AppConstant.AuthValue + DataManager.getInstance().getToken();
- callEq = apiService.gettingEquipment(auth);
- callEq.enqueue(new Callback<GetEquipment>() {
- @Override
- public void onResponse(@NonNull Call<GetEquipment> call, @NonNull Response<GetEquipment> data) {
- hideDialogProgress();
- if (data.isSuccessful()) {
- GetEquipment response = data.body();
- if (response != null) {
- if (response.getSTATUS() == 200) {
- List<GetEquipment.DATABean> responseDATA = response.getDATA();
- for (GetEquipment.DATABean dataBean : responseDATA) {
- itemsEquipment.add(new SelectItem(dataBean.getId() + "", dataBean.getName(), dataBean.getDescription()));
- }
- openSelectEquipment();
- } else {
- showToast(response.getMESSAGE());
- }
- } else {
- showToast(getString(R.string.no_response));
- }
- } else {
- RecentUtils.handleRetrofitError(data.code());
- }
- }
- @Override
- public void onFailure(@NonNull Call<GetEquipment> call, @NonNull Throwable t) {
- if (!call.isCanceled()) {
- hideDialogProgress();
- MyLog.logE(t.getMessage());
- showToast(getString(R.string.network_error));
- }
- }
- });
- }
- private void openSelectEquipment() {
- SelectBigActivity.selectedItems = itemsEquipment;
- Intent intent = new Intent(getContext(), SelectBigActivity.class);
- intent.putExtra(SelectActivity.TITLE, getString(R.string.input_equipment));
- intent.putParcelableArrayListExtra(SelectActivity.ITEMS, itemsEquipment);
- startActivityForResult(intent, SELECT_EQUIPMENT);
- }
- private void setAssetData() {
- recyclerView.setNestedScrollingEnabled(false);
- recyclerView.setHasFixedSize(true);
- LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
- recyclerView.setLayoutManager(layoutManager);
- // SpacingItemDecoration itemDecoration = new SpacingItemDecoration(RecentUtils.ConvertDpToPx(getContext(), 16), true);
- // recyclerView.addItemDecoration(itemDecoration);
- recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getContext(), recyclerView, new RecyclerTouchListener.ClickListener() {
- @Override
- public void onClick(View view, int position) {
- Intent intent = new Intent(getContext(), AssetDetailActivity.class);
- intent.putExtra(AssetDetailActivity.DEPARTMENT_ID, selectedDepartmentID);
- intent.putExtra(AssetDetailActivity.EQUIPMENT_ID, selectedEquipmentID);
- intent.putExtra(AssetDetailActivity.BARCODE, responseData.get(position).getCode() );
- startActivity(intent);
- }
- @Override
- public void onLongClick(View view, int position) {
- }
- }));
- mAdapter = new StockOpnameAdapter(getContext());
- recyclerView.setAdapter(mAdapter);
- loadData();
- }
- private void loadData() {
- Map<String, String> params = new HashMap<>();
- params.put("hospital_id", DataManager.getInstance().getHospital_id()+"");
- params.put("dept_id", selectedDepartmentID);
- if(!TextUtils.isEmpty(selectedEquipmentID))
- params.put("eq_type", selectedEquipmentID);
- // tvLoading.setText("Getting Asset Detail");
- // tvLoadingDesc.setText("Please wait for getting asset detail");
- // containerLoading.setVisibility(View.VISIBLE);
- RetrofitInterface apiService = ApiUtils.getAPIService();
- String auth = AppConstant.AuthValue + DataManager.getInstance().getToken();
- Call<GetAssetByDepartment> call = apiService.gettingAssetByDepartment(auth,params);
- call.enqueue(new Callback<GetAssetByDepartment>() {
- @Override
- public void onResponse(@NonNull Call<GetAssetByDepartment> call, @NonNull Response<GetAssetByDepartment> data) {
- // containerLoading.setVisibility(View.GONE);
- if (data.isSuccessful()) {
- GetAssetByDepartment response = data.body();
- if (response != null) {
- if (response.getSTATUS() == 200) {
- // containerContent.setVisibility(View.VISIBLE);
- responseData = response.getDATA();
- processData();
- } else {
- // containerError.setVisibility(View.VISIBLE);
- // tvError.setText(response.getMESSAGE());
- }
- } else {
- // containerError.setVisibility(View.VISIBLE);
- // tvError.setText(getString(R.string.no_response));
- }
- } else {
- // containerError.setVisibility(View.VISIBLE);
- // RecentUtils.handleRetrofitError(data.code(), tvError);
- }
- }
- @Override
- public void onFailure(@NonNull Call<GetAssetByDepartment> call, @NonNull Throwable t) {
- if (!call.isCanceled()) {
- MyLog.logE(t.getMessage());
- // containerLoading.setVisibility(View.GONE);
- // containerError.setVisibility(View.VISIBLE);
- // tvError.setText(getString(R.string.network_error));
- }
- }
- });
- }
- private void processData() {
- mAdapter.addData(responseData);
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == Activity.RESULT_OK) {
- if (requestCode == SELECT_DEPARTMENT) {
- SelectItem selectItem = data.getParcelableExtra("result");
- edDepartment.setText(selectItem.getTitle());
- selectedDepartmentID = selectItem.getId();
- if(!edEquipment.getText().toString().equals("")) {
- setAssetData();
- // itemsDepartment.clear();
- // selectedDepartmentID = "";
- // edDepartment.setText("");
- }
- }
- if (requestCode == SELECT_EQUIPMENT) {
- SelectItem selectItem = data.getParcelableExtra("result");
- edEquipment.setText(selectItem.getTitle());
- selectedEquipmentID = selectItem.getId();
- if(!edDepartment.getText().toString().equals(""))
- {
- setAssetData();
- }
- }
- if(requestCode == SELECT_SCAN){
- String itemScanned = data.getStringExtra("result");
- edSerialNumber.setText(itemScanned);
- // setAssetData();
- }
- }
- }//onActivityResult
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement