Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package waruagung.com.ksuapplicationKolektor.LaporanPenagihan;
- import android.app.Activity;
- import android.app.DatePickerDialog;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.Uri;
- import android.os.Bundle;
- import android.text.Editable;
- import android.text.InputType;
- import android.text.TextWatcher;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.inputmethod.EditorInfo;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.DatePicker;
- import android.widget.EditText;
- import android.widget.LinearLayout;
- import android.widget.Spinner;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.appcompat.widget.Toolbar;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
- import com.android.volley.AuthFailureError;
- import com.android.volley.DefaultRetryPolicy;
- import com.android.volley.NetworkResponse;
- import com.android.volley.Request;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import com.google.android.material.bottomnavigation.BottomNavigationView;
- import com.google.android.material.snackbar.Snackbar;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Map;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- import retrofit2.Call;
- import retrofit2.Callback;
- import waruagung.com.ksuapplicationKolektor.API.APIClient;
- import waruagung.com.ksuapplicationKolektor.API.APIInterface;
- import waruagung.com.ksuapplicationKolektor.API.model.ModelStatusBayar;
- import waruagung.com.ksuapplicationKolektor.Cari_Nama_AnggotaActivity;
- import waruagung.com.ksuapplicationKolektor.Helper.Http;
- import waruagung.com.ksuapplicationKolektor.Helper.SessionManager;
- import waruagung.com.ksuapplicationKolektor.Helper.VolleyErrorHelper;
- import waruagung.com.ksuapplicationKolektor.LaporanPenagihan.Adapter.AdapterReportKolektorTabel;
- import waruagung.com.ksuapplicationKolektor.LaporanPenagihan.Model.ModelReportKolektor;
- import waruagung.com.ksuapplicationKolektor.MainActivity;
- import waruagung.com.ksuapplicationKolektor.Model.ModelUserRole;
- import waruagung.com.ksuapplicationKolektor.R;
- public class LaporanPenagihanTabelActivity extends AppCompatActivity {
- public static final String TAG = LaporanPenagihanTabelActivity.class.getSimpleName();
- @BindView(R.id.toolbar)
- Toolbar toolbar;
- @BindView(R.id.cari)
- EditText cari;
- @BindView(R.id.rvcari_laporan)
- RecyclerView rvcariLaporan;
- @BindView(R.id.swiperefresh)
- SwipeRefreshLayout swiperefresh;
- @BindView(R.id.bn_main)
- BottomNavigationView bnMain;
- @BindView(R.id.tanggalawal)
- EditText tanggalawal;
- @BindView(R.id.tanggal_awal)
- LinearLayout tanggalAwal;
- @BindView(R.id.tanggalakhir)
- EditText tanggalakhir;
- @BindView(R.id.tanggal_akhir)
- LinearLayout tanggalAkhir;
- @BindView(R.id.status_penagihan)
- Spinner statusPenagihan;
- Context mContext;
- // @BindView(R.id.CariTanggal)
- // TextView CariTanggal;
- private DatePickerDialog picker;
- private View view;
- private Intent intent;
- private SessionManager sessionManager;
- private Boolean APP_REPORT_ADMCOLL = false, APP_KOLEKTOR_TAGIH = false, APP_APPR_KABAG_COLL = false, APP_REPORT_COLL = false;
- private List<ModelReportKolektor> itemlist;
- private String liststatusbayar;
- private APIInterface apiInterface;
- private APIClient ApiClient;
- private ArrayList<Uri> arrayList = new ArrayList<>();
- // private String statusbayar;
- //
- // private String[] liststatusbayar = {
- // "Sudah Bayar",
- // "Janji Bayar",
- // "Belum Ketemu"
- //
- // };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_laporan_penagihan_tabel);
- ButterKnife.bind(this);
- sessionManager = new SessionManager(LaporanPenagihanTabelActivity.this);
- // final ArrayAdapter<String> adapterSpinnerstatusbayar = new ArrayAdapter<>(this,
- // R.layout.spinner_item, liststatusbayar);
- // statusPenagihan.setAdapter(adapterSpinnerstatusbayar);
- // Log.e(TAG, "onCreate: " + statusbayar);
- liststatusbayar();
- statusPenagihan.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- liststatusbayar = parent.getItemAtPosition(position).toString();
- // String selectedName = parent.getItemAtPosition(position).toString();
- // Toast.makeText(getBaseContext(), "Kamu memilih " + selectedName, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- }
- });
- //tanggal otomatis sekarang
- Calendar calendar = Calendar.getInstance();
- // calendar.add(Calendar.DATE, -90); // number of days to add
- String currentDate = new SimpleDateFormat("dd/MM/yyyy").format(calendar.getTime());
- TextView textViewDate = findViewById(R.id.tanggalawal);
- textViewDate.setText(currentDate);
- // calendar.add(Calendar.DATE, -90); // number of days to add
- String currentDate2 = new SimpleDateFormat("dd/MM/yyyy").format(calendar.getTime());
- TextView textViewDate2 = findViewById(R.id.tanggalakhir);
- textViewDate2.setText(currentDate2);
- settingDatePicker();
- try {
- List<ModelUserRole> modelRole = new Gson().fromJson(sessionManager.getRole(), new TypeToken<List<ModelUserRole>>() {
- }.getType());
- for (ModelUserRole m : modelRole) {
- if (m.getFORMADDRESS().equals("APP_REPORT_ADMCOLL")) {
- APP_REPORT_ADMCOLL = true;
- }
- if (m.getFORMADDRESS().equals("APP_KOLEKTOR_TAGIH")) {
- APP_KOLEKTOR_TAGIH = true;
- }
- if (m.getFORMADDRESS().equals("APP_APPR_KABAG_COLL")) {
- APP_APPR_KABAG_COLL = true;
- }
- if (m.getFORMADDRESS().equals("APP_REPORT_COLL")) {
- APP_REPORT_COLL = true;
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- rvlaporan("");
- cari.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (actionId == EditorInfo.IME_ACTION_SEARCH
- || actionId == EditorInfo.IME_ACTION_DONE
- || event.getAction() == KeyEvent.ACTION_DOWN
- && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
- rvlaporan(cari.getText().toString().trim());
- //keyboard otomatis hilang jika sudah cari nama/item selesai
- InputMethodManager inputMethodManager1 = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
- inputMethodManager1.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
- return true;
- }
- // Return true if you have consumed the action, else false.
- return false;
- }
- });
- // rvlaporan("");
- restoreActionBar();
- swiperefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- rvlaporan("");
- swiperefresh.setRefreshing(false);
- }
- });
- }
- private void liststatusbayar() {
- apiInterface = APIClient.getClient(Http.getUrl()).create(APIInterface.class);
- Call<List<ModelStatusBayar>> call = apiInterface.doGetAPIListStatusBayar("KSP11");
- call.enqueue(new Callback<List<ModelStatusBayar>>() {
- @Override
- public void onResponse(Call<List<ModelStatusBayar>> call, retrofit2.Response<List<ModelStatusBayar>> response) {
- if (response.isSuccessful() && response.body() != null) {
- Log.e(TAG, "onResponse: " + response.toString());
- List<String> listSpinner = new ArrayList<String>();
- for (int i = 0; i < response.body().size(); i++) {
- listSpinner.add(response.body().get(i).getValue());
- }
- // Set hasil result json ke dalam adapter spinner
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(),
- android.R.layout.simple_spinner_item, listSpinner);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- statusPenagihan.setAdapter(adapter);
- }
- }
- @Override
- public void onFailure(Call<List<ModelStatusBayar>> call, Throwable t) {
- Toast.makeText(getBaseContext(), t.toString(), Toast.LENGTH_SHORT).show();
- }
- });
- }
- private void settingDatePicker() {
- SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");// HH:mm:ss");
- tanggalawal.setInputType(InputType.TYPE_NULL);
- tanggalawal.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final Calendar cldr = Calendar.getInstance();
- int day = cldr.get(Calendar.DAY_OF_MONTH);
- int month = cldr.get(Calendar.MONTH);
- int year = cldr.get(Calendar.YEAR);
- picker = new DatePickerDialog(v.getContext(),
- new DatePickerDialog.OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker view, int dayOfMonth, int monthOfYear, int year) {
- Calendar newDate = Calendar.getInstance();
- // newDate.set(year, monthOfYear, dayOfMonth);
- newDate.set(dayOfMonth, monthOfYear, year);
- SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
- String formatted = dateFormat.format(newDate.getTime());
- tanggalawal.setText(formatted);
- }
- }, year, month, day);
- picker.show();
- }
- });
- tanggalakhir.setInputType(InputType.TYPE_NULL);
- tanggalakhir.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final Calendar cldr = Calendar.getInstance();
- // cldr.add(Calendar.DATE, -90); // number of days to add
- int day = cldr.get(Calendar.DAY_OF_MONTH);
- int month = cldr.get(Calendar.MONTH);
- int year = cldr.get(Calendar.YEAR);
- picker = new DatePickerDialog(v.getContext(),
- new DatePickerDialog.OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker view, int dayOfMonth, int monthOfYear, int year) {
- Calendar newDate = Calendar.getInstance();
- // newDate.set(year, monthOfYear, dayOfMonth);
- newDate.set(dayOfMonth, monthOfYear, year);
- SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
- String formatted = dateFormat.format(newDate.getTime());
- tanggalakhir.setText(formatted);
- }
- }, year, month, day);
- picker.show();
- }
- });
- tanggalawal.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) {
- String cariTanggal = tanggalawal.getText().toString();
- if (cariTanggal.length() > 3) {
- if (isOnline()) {
- String caritanggal = cari.getText().toString().toUpperCase();
- rvlaporan(caritanggal);
- } else {
- Snack("Tidak ada koneksi internet");
- }
- }
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- tanggalakhir.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) {
- String cariTanggal = tanggalawal.getText().toString();
- if (cariTanggal.length() > 3) {
- if (isOnline()) {
- String caritanggal = cari.getText().toString().toUpperCase();
- rvlaporan(caritanggal);
- } else {
- Snack("Tidak ada koneksi internet");
- }
- }
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- }
- private boolean isOnline() {
- ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo netInfo = cm.getActiveNetworkInfo();
- return netInfo != null && netInfo.isConnectedOrConnecting();
- }
- private void Snack(String string) {
- Snackbar snackbar = Snackbar.make(cari, string, Snackbar.LENGTH_LONG)
- .setAction("Action", null);
- View snackBarView = snackbar.getView();
- snackBarView.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
- snackbar.show();
- }
- private void restoreActionBar() {
- setSupportActionBar(toolbar);
- // toolbarTitle.setText("Keranjang");
- // toolbarTitle.setTextColor(Color.BLACK);
- getSupportActionBar().setTitle("");
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_chevron_left_black_24dp);
- // getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.BLUE));
- getSupportActionBar().setDisplayShowTitleEnabled(true);
- // toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_black_24dp));
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- if (APP_REPORT_ADMCOLL) {
- bnMain.setVisibility(View.GONE);
- }
- bnMain.getMenu().getItem(0).setCheckable(false);
- bnMain.getMenu().getItem(2).setChecked(true);
- bnMain.getMenu().getItem(0).setCheckable(false);
- bnMain.getMenu().getItem(2).setCheckable(true);
- bnMain.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
- switch (menuItem.getItemId()) {
- case R.id.home_menu:
- Intent intent = new Intent(getApplicationContext(), MainActivity.class);
- startActivity(intent);
- break;
- case R.id.Pembayaran:
- Intent intent2 = new Intent(getApplicationContext(), Cari_Nama_AnggotaActivity.class);
- startActivity(intent2);
- break;
- // case R.id.Laporan:
- // Intent intent3 = new Intent(getApplicationContext(), CariLaporanActivity.class);
- // startActivity(intent3);
- // break;
- case R.id.Laporan:
- Intent intent3 = new Intent(getApplicationContext(), LaporanPenagihanTabelActivity.class);
- startActivity(intent3);
- break;
- // case R.id.Riwayat:
- // Intent intent3 = new Intent(getApplicationContext(), Riwayat_pembayaranActivity.class);
- // startActivity(intent3);
- // break;
- }
- return false;
- }
- });
- }
- @Override
- protected void onRestart() {
- super.onRestart();
- rvlaporan("");
- }
- private void rvlaporan(String cariMember) {
- String searchDate = tanggalawal.getText().toString();
- String endDate = tanggalakhir.getText().toString();
- LinearLayoutManager linearLayoutManager = new LinearLayoutManager(LaporanPenagihanTabelActivity.this);
- rvcariLaporan.setLayoutManager(linearLayoutManager);
- rvcariLaporan.setHasFixedSize(true);
- rvcariLaporan.setNestedScrollingEnabled(false);
- rvcariLaporan.setOnScrollChangeListener(new View.OnScrollChangeListener() {
- @Override
- public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
- swiperefresh.setEnabled(linearLayoutManager.findFirstCompletelyVisibleItemPosition() == 0);
- }
- });
- String url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&membername=" + cari.getText().toString() + "&kolektor=";
- if (APP_REPORT_COLL && !APP_APPR_KABAG_COLL | !APP_REPORT_ADMCOLL) {
- url = Http.getUrl() + "Kolektor_Report?sCmp=" + Http.getsCmp() + "&datestart=" + searchDate + "&dateend=" + endDate + "&StatusBayar=" + "&membername=" + cariMember + "&userid=" + sessionManager.getPID();
- } else {
- // url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&datestart=" + "&dateend=" + "&StatusBayar=" + "&membername=" + cariMember;
- url = Http.getUrl() + "Kolektor_Report_Pimpinan?sCmp=" + Http.getsCmp() + "&datestart=" + searchDate + "&dateend=" + endDate + "&StatusBayar=" + "&membername=" + cariMember + "&kolektor=";
- }
- Log.e(TAG, "sendCheckIn: " + url);
- final ProgressDialog dialog1 = new ProgressDialog(LaporanPenagihanTabelActivity.this);
- dialog1.setCancelable(false);
- dialog1.setCanceledOnTouchOutside(false);
- dialog1.setMessage("Memuat data...");
- dialog1.show();
- RequestQueue mQueue = Volley.newRequestQueue(LaporanPenagihanTabelActivity.this);
- // Log.e(TAG, "accessWebService: Katalog Start with Token " + sessionManager.getKeyToken());
- StringRequest jsonObjectRequest = new StringRequest(Request.Method.GET, url,
- new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- try {
- dialog1.dismiss();
- Log.d(TAG, "onResponse() called with: response = " + response);
- if (response != null) {
- // Gson gson = new Gson();
- // ModelName modelName = gson.fromJson(String.valueOf(response), ModelName.class)
- if (response.equals("[]")) {
- Toast.makeText(LaporanPenagihanTabelActivity.this, "Data Kosong", Toast.LENGTH_SHORT).show();
- } else {
- itemlist = new Gson().fromJson(response, new TypeToken<List<ModelReportKolektor>>() {
- }.getType());
- if (!itemlist.isEmpty()) {
- List<ModelReportKolektor> userData = new ArrayList<>();
- for (int i = 0; i < itemlist.size(); i++) {
- if (liststatusbayar.equals("All")) {
- userData.add(itemlist.get(i));
- } else {
- if (itemlist.get(i).getStatusBayar().equals(liststatusbayar)) {
- userData.add(itemlist.get(i));
- }
- }
- }
- AdapterReportKolektorTabel adapterReportKolektorTabel = new AdapterReportKolektorTabel(LaporanPenagihanTabelActivity.this, -1, userData);
- rvcariLaporan.setAdapter(adapterReportKolektorTabel);
- }
- }
- }
- } catch (Exception e) {
- Log.e(TAG, "onResponse() called with: response = [" + e.getMessage() + "]");
- }
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- dialog1.dismiss();
- try {
- String bodyError = VolleyErrorHelper.getMessage(error, LaporanPenagihanTabelActivity.this);
- Toast.makeText(LaporanPenagihanTabelActivity.this, bodyError, Toast.LENGTH_SHORT).show();
- } catch (Exception e) {
- Log.e(TAG, "onErrorResponse: " + e.getMessage());
- }
- }
- }) {
- @Override
- public Map<String, String> getHeaders() throws AuthFailureError {
- Map<String, String> params = new HashMap<String, String>();
- // params.put("Content-Type", "application/x-www-form-urlencoded");
- // params.put("Authorization", "Bearer " + sessionManager.getKeyToken());
- return params;
- }
- @Override
- protected Response<String> parseNetworkResponse(NetworkResponse response) {
- return super.parseNetworkResponse(response);
- }
- };
- jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(5000,
- DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
- DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
- mQueue.add(jsonObjectRequest);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement