add project adins

This commit is contained in:
Alfrid Sanjaya Leo Putra 2024-07-25 14:44:22 +07:00
commit f8f85d679d
5299 changed files with 625430 additions and 0 deletions

View file

@ -0,0 +1,388 @@
package com.adins.mss.base.dynamicform.form.view;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.core.content.ContextCompat;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.widget.ToggleButton;
import com.adins.mss.base.GlobalData;
import com.adins.mss.base.R;
import com.adins.mss.base.commons.ViewImpl;
import com.adins.mss.base.crashlytics.FireCrash;
import com.adins.mss.base.dynamicform.CustomerFragment;
import com.adins.mss.base.dynamicform.DynamicFormActivity;
import com.adins.mss.base.dynamicform.FormBean;
import com.adins.mss.base.dynamicform.SurveyHeaderBean;
import com.adins.mss.base.dynamicform.form.DynamicQuestionActivity;
import com.adins.mss.base.dynamicform.form.FragmentQuestion;
import com.adins.mss.base.todo.Task;
import com.adins.mss.base.util.CustomAnimatorLayout;
import com.adins.mss.base.util.GsonHelper;
import com.adins.mss.constant.Global;
import com.adins.mss.dao.GeneralParameter;
import com.adins.mss.dao.Scheme;
import com.adins.mss.dao.User;
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
import com.adins.mss.foundation.db.dataaccess.SchemeDataAccess;
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
import com.adins.mss.foundation.formatter.Tool;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/**
* Created by kusnendi.muhamad on 08/08/2017.
*/
public class DynamicQuestionView extends ViewImpl {
public static FragmentManager fragmentManager;
public ArrayAdapter<String> adapter;
public static ProgressDialog progressDialog;
protected static ArrayList<String> questionLabel = new ArrayList<>();
public static SurveyHeaderBean header;
public int mode;
private ImageButton btnNext;
private ImageButton btnSave;
private ImageButton btnSend;
private ImageButton btnVerified;
private ImageButton btnReject;
private ImageButton btnApprove;
private ImageButton btnClose;
private ImageButton btnSearch;
private ToggleButton btnSearchBar;
private AutoCompleteTextView txtSearch;
//task abstract class
private Task task;
private boolean isSimulasi = false;
private RelativeLayout searchContainer;
private User user;
public View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
if(Global.BACKPRESS_RESTRICTION) return;
if (id == R.id.btnNext) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.NEXT_QUESTION);
if (isAutoSave())
bundle.putInt(Global.BUND_KEY_MODE_SURVEY, mode);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnSave) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(Global.BUND_KEY_MODE_SURVEY, mode);
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.SAVE_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnSend) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.SEND_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnSearchBar) {
adapter = new ArrayAdapter<>(activity, R.layout.autotext_list, R.id.textauto, DynamicQuestionActivity.getQuestionLabel());
refreshAdapter();
adapter.notifyDataSetChanged();
if (btnSearchBar.isChecked()) {
CustomAnimatorLayout animatorLayout = new CustomAnimatorLayout(0, 1, 0, 1, 500, searchContainer, false);
searchContainer.setVisibility(View.VISIBLE);
searchContainer.startAnimation(animatorLayout);
} else {
CustomAnimatorLayout animatorLayout = new CustomAnimatorLayout(1, 0, 1, 0, 500, searchContainer, true);
searchContainer.startAnimation(animatorLayout);
}
} else if (id == R.id.btnSearch) {
btnSearchBar.setChecked(false);
CustomAnimatorLayout animatorLayout = new CustomAnimatorLayout(1, 0, 1, 0, 500, searchContainer, true);
searchContainer.startAnimation(animatorLayout);
String searchKey = "";
if (txtSearch.getText().length() > 0)
searchKey = txtSearch.getText().toString().toLowerCase();
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putString(FragmentQuestion.BUND_KEY_SEARCH_ACTION, searchKey);
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.SEARCH_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnVerified) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.VERIFY_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnApprove) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.APPROVE_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnReject) {
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putInt(FragmentQuestion.BUND_KEY_ACTION, FragmentQuestion.REJECT_QUESTION);
message.setData(bundle);
FragmentQuestion.questionHandler.sendMessage(message);
} else if (id == R.id.btnClose) {
GlobalData.getSharedGlobalData().setDoingTask(false);
activity.finish();
}
}
};
public DynamicQuestionView(Activity activity) {
super(activity);
adapter = new ArrayAdapter<>(activity, R.layout.autotext_list, R.id.textauto, DynamicQuestionActivity.getQuestionLabel());
}
public static void dismissProgressBar() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (DynamicQuestionActivity.progressDialog != null && DynamicQuestionActivity.progressDialog.isShowing()) {
try {
DynamicQuestionActivity.progressDialog.dismiss();
} catch (Exception e) {
FireCrash.log(e);
if (Global.IS_DEV)
e.printStackTrace();
}
}
}
}, 1000);
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onCreate() {
super.onCreate();
initialize();
initScreenLayout();
questionLabel.clear();
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
List<Scheme> schemes = SchemeDataAccess.getAll(activity.getApplicationContext());
Global.getSharedGlobal().setTempSchemeVersion(new HashMap<String, Integer>());
for (Scheme scheme : schemes) {
Global.getSharedGlobal().getTempSchemeVersion().put(scheme.getUuid_scheme(), Integer.valueOf(scheme.getForm_version()));
}
Global.getSharedGlobal().setSchemeIsChange(true);
return null;
}
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
new Handler().post(new Runnable() {
@Override
public void run() {
gotoQuestionFragment();
}
});
}
private void initialize() {
Bundle extras = activity.getIntent().getExtras();
mode = extras.getInt(Global.BUND_KEY_MODE_SURVEY);
user = GlobalData.getSharedGlobalData().getUser();
// Nendi: 18.12.2019 | Patch Task Header tertukar karena static property
DynamicFormActivity.setHeader(GsonHelper.fromJson(extras.getString(Global.BUND_KEY_SURVEY_BEAN), SurveyHeaderBean.class));
DynamicFormActivity.getHeader().setForm(GsonHelper.fromJson(extras.getString(Global.BUND_KEY_FORM_BEAN), FormBean.class));
header = DynamicFormActivity.getHeader();
task = (Task) extras.getSerializable(Global.BUND_KEY_TASK);
isSimulasi = extras.getBoolean(Global.BUND_KEY_MODE_SIMULASI, false);
try {
if ((header.getPriority() != null && header.getPriority().length() > 0) && !header.getStatus().equalsIgnoreCase(TaskHDataAccess.STATUS_SEND_SENT)) {
header.setStart_date(Tool.getSystemDateTime());
new CustomerFragment.SendOpenReadTaskH(activity, header).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
} catch (Exception e) { FireCrash.log(e);
if (Global.IS_DEV)
e.printStackTrace();
String[] msg = {"Failed open questions,\nplease try again"};
String alert = Tool.implode(msg, "\n");
Toast.makeText(activity, alert, Toast.LENGTH_SHORT).show();
}
}
private void initScreenLayout() {
btnNext = (ImageButton) activity.findViewById(R.id.btnNext);
btnSend = (ImageButton) activity.findViewById(R.id.btnSend);
btnSave = (ImageButton) activity.findViewById(R.id.btnSave);
btnSearch = (ImageButton) activity.findViewById(R.id.btnSearch);
btnVerified = (ImageButton) activity.findViewById(R.id.btnVerified);
btnReject = (ImageButton) activity.findViewById(R.id.btnReject);
btnApprove = (ImageButton) activity.findViewById(R.id.btnApprove);
btnClose = (ImageButton) activity.findViewById(R.id.btnClose);
btnSearchBar = (ToggleButton) activity.findViewById(R.id.btnSearchBar);
btnNext.setOnClickListener(clickListener);
btnVerified.setOnClickListener(clickListener);
btnSend.setOnClickListener(clickListener);
btnSave.setOnClickListener(clickListener);
btnSearch.setOnClickListener(clickListener);
btnReject.setOnClickListener(clickListener);
btnApprove.setOnClickListener(clickListener);
btnSearchBar.setOnClickListener(clickListener);
btnClose.setOnClickListener(clickListener);
adapter = new ArrayAdapter<>(activity, R.layout.autotext_list, R.id.textauto, DynamicQuestionActivity.getQuestionLabel());
txtSearch = (AutoCompleteTextView) activity.findViewById(R.id.autoCompleteSearch);
txtSearch.setAdapter(adapter);
txtSearch.setDropDownBackgroundDrawable(ContextCompat.getDrawable(activity, R.drawable.dropdown_background));
txtSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean hasFocused) {
if (hasFocused) {
adapter.notifyDataSetChanged();
}
}
});
LinearLayout sendLayout = (LinearLayout) activity.findViewById(R.id.btnSendLayout);
LinearLayout verifyLayout = (LinearLayout) activity.findViewById(R.id.btnVerifiedLayout);
LinearLayout rejectLayout = (LinearLayout) activity.findViewById(R.id.btnRejectLayout);
LinearLayout approveLayout = (LinearLayout) activity.findViewById(R.id.btnApproveLayout);
LinearLayout nextLayout = (LinearLayout) activity.findViewById(R.id.btnNextLayout);
LinearLayout saveLayout = (LinearLayout) activity.findViewById(R.id.btnSaveLayout);
LinearLayout searchLayout = (LinearLayout) activity.findViewById(R.id.btnSearchLayout);
LinearLayout closeLayout = (LinearLayout) activity.findViewById(R.id.btnCloseLayout);
searchContainer = (RelativeLayout) activity.findViewById(R.id.searchLayout);
searchContainer.setVisibility(View.GONE);
try {
if (TaskHDataAccess.STATUS_TASK_VERIFICATION.equalsIgnoreCase(header.getStatus()) ||
TaskHDataAccess.STATUS_TASK_VERIFICATION_DOWNLOAD.equalsIgnoreCase(header.getStatus()) ||
user.getFlag_job().equalsIgnoreCase("JOB MH")) {
sendLayout.setVisibility(View.GONE);
saveLayout.setVisibility(View.VISIBLE);
approveLayout.setVisibility(View.GONE);
//ganti ke halaman baru
if (!Global.NEW_FEATURE) {
rejectLayout.setVisibility(View.VISIBLE);
verifyLayout.setVisibility(View.VISIBLE);
}
}
if (TaskHDataAccess.STATUS_TASK_APPROVAL.equalsIgnoreCase(header.getStatus()) ||
TaskHDataAccess.STATUS_TASK_APPROVAL_DOWNLOAD.equalsIgnoreCase(header.getStatus())) {
sendLayout.setVisibility(View.GONE);
searchLayout.setVisibility(View.GONE);
verifyLayout.setVisibility(View.GONE);
saveLayout.setVisibility(View.GONE);
if (!Global.NEW_FEATURE) {
nextLayout.setVisibility(View.GONE);
rejectLayout.setVisibility(View.VISIBLE);
approveLayout.setVisibility(View.VISIBLE);
}
searchContainer.setVisibility(View.GONE);
}
} catch (Exception e) { FireCrash.log(e);
}
if (mode == Global.MODE_VIEW_SENT_SURVEY) {
nextLayout.setVisibility(View.GONE);
sendLayout.setVisibility(View.GONE);
searchLayout.setVisibility(View.GONE);
verifyLayout.setVisibility(View.GONE);
rejectLayout.setVisibility(View.GONE);
approveLayout.setVisibility(View.GONE);
saveLayout.setVisibility(View.GONE);
closeLayout.setVisibility(View.VISIBLE);
searchContainer.setVisibility(View.GONE);
}
if (isSimulasi) {
saveLayout.setVisibility(View.GONE);
sendLayout.setVisibility(View.GONE);
}
}
private void gotoQuestionFragment() {
FragmentTransaction transaction = fragmentManager.beginTransaction();
Fragment fragment1 = new FragmentQuestion();
Bundle bundle = new Bundle();
bundle.putInt(Global.BUND_KEY_MODE_SURVEY, mode);
bundle.putBoolean(Global.BUND_KEY_MODE_SIMULASI, isSimulasi);
fragment1.setArguments(bundle);
transaction.replace(R.id.mainContainer, fragment1);
transaction.commitAllowingStateLoss();
}
public void showProgressBar(final String message) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
DynamicQuestionActivity.progressDialog = ProgressDialog.show(activity, "", message, false);
}
});
}
private void refreshAdapter() {
// 2017/10/05 | olivia : to prevent duplicate result on adapter
try {
List<String> list = DynamicQuestionActivity.getQuestionLabel();
Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
set.addAll(list);
list = new ArrayList<>(set);
adapter.clear();
for (int i = list.size(); i > 0; i--)
adapter.add(list.get(i - 1));
} catch (Exception e) { FireCrash.log(e);
}
txtSearch.setAdapter(adapter);
}
public boolean isAutoSave(){
GeneralParameter gpAutoSave = null;
if (GlobalData.getSharedGlobalData().getApplication().equalsIgnoreCase(Global.APPLICATION_ORDER)) {
gpAutoSave = GeneralParameterDataAccess.getOne(activity.getApplicationContext(),
GlobalData.getSharedGlobalData().getUser().getUuid_user(), Global.GS_MO_AUTO_SAVE);
} else if (GlobalData.getSharedGlobalData().getApplication().equalsIgnoreCase(Global.APPLICATION_SURVEY)) {
gpAutoSave = GeneralParameterDataAccess.getOne(activity.getApplicationContext(),
GlobalData.getSharedGlobalData().getUser().getUuid_user(), Global.GS_MS_AUTO_SAVE);
} else if (GlobalData.getSharedGlobalData().getApplication().equalsIgnoreCase(Global.APPLICATION_COLLECTION)) {
gpAutoSave = GeneralParameterDataAccess.getOne(activity.getApplicationContext(),
GlobalData.getSharedGlobalData().getUser().getUuid_user(), Global.GS_MC_AUTO_SAVE);
}
if(gpAutoSave == null || !gpAutoSave.getGs_value().equals("1"))
return false;
return true;
}
}

View file

@ -0,0 +1,19 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newTaskLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_grayscale" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/actionbar"
android:divider="@android:color/transparent"
android:dividerHeight="5dp"
android:footerDividersEnabled="true"
android:headerDividersEnabled="true" >
</ListView>
</RelativeLayout>

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_settings"
android:showAsAction="collapseActionView|ifRoom"
android:actionViewClass="android.widget.SearchView"/>
<item android:id="@+id/drawerRight"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_gpsn_on"
android:visible="true"
android:enabled="true"
android:title="Drawer Right"
/>
<item android:id="@+id/mn_review"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_schema"
android:visible="false"
android:title="Review"
android:enabled="true"
/>
<item android:id="@+id/mn_Approve"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_approve"
android:visible="false"
android:title="Approve"
android:enabled="true"
/>
<item android:id="@+id/mn_Verify"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_approve"
android:title="Verify"
android:visible="false"
android:enabled="true"
/>
<item android:id="@+id/mn_Reject"
android:showAsAction="ifRoom"
android:title="Reject"
android:icon="@drawable/ic_reject"
android:visible="false"
android:enabled="true"
/>
</menu>

View file

@ -0,0 +1,70 @@
package com.adins.mss.base;
import android.content.Context;
import android.graphics.Color;
public class GlobalUI {
public static int color01 = 0;
public static int color02 = 0;
public static int color03 = 0;
public static int color04 = 0;
public static int color05 = 0;
public static int color06 = 0;
public static int color07 = 0;
public static int color08 = 0;
public GlobalUI() {
// TODO Auto-generated constructor stub
}
public static void setColor01(String hexaColor) {
color01 = Color.parseColor(hexaColor);
}
public static void setColor02(String hexaColor) {
color02 = Color.parseColor(hexaColor);
}
public static void setColor03(String hexaColor) {
color03 = Color.parseColor(hexaColor);
}
public static void setColor04(String hexaColor) {
color04 = Color.parseColor(hexaColor);
}
public static void setColor05(String hexaColor) {
color05 = Color.parseColor(hexaColor);
}
public static void setColor06(String hexaColor) {
color06 = Color.parseColor(hexaColor);
}
public static void setColor07(String hexaColor) {
color07 = Color.parseColor(hexaColor);
}
public static void setColor08(String hexaColor) {
color08 = Color.parseColor(hexaColor);
}
public static void setAllColor(String hexaColorArr[]) {
color01 = Color.parseColor(hexaColorArr[0]);
color02 = Color.parseColor(hexaColorArr[1]);
color03 = Color.parseColor(hexaColorArr[2]);
color04 = Color.parseColor(hexaColorArr[3]);
color05 = Color.parseColor(hexaColorArr[4]);
color06 = Color.parseColor(hexaColorArr[5]);
color07 = Color.parseColor(hexaColorArr[6]);
color08 = Color.parseColor(hexaColorArr[7]);
}
public static int getImage(Context context, String fileNamePath) {
// int id = context.getResources().getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);
int id = context.getResources().getIdentifier(fileNamePath, null, null);
return id;
}
}

View file

@ -0,0 +1,18 @@
package com.adins.mss.coll.fragments;
import com.adins.mss.foundation.http.MssRequestType;
import com.google.gson.annotations.SerializedName;
public class GetLogoRequest extends MssRequestType {
@SerializedName("MEMBERSHIP_PROGRAM_CODE")
protected String MEMBERSHIP_PROGRAM_CODE;
public String getMEMBERSHIP_PROGRAM_CODE() {
return MEMBERSHIP_PROGRAM_CODE;
}
public void setMEMBERSHIP_PROGRAM_CODE(String MEMBERSHIP_PROGRAM_CODE) {
this.MEMBERSHIP_PROGRAM_CODE = MEMBERSHIP_PROGRAM_CODE;
}
}

View file

@ -0,0 +1,21 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<com.google.android.material.tabs.TabLayout
android:id="@+id/slidingTabLayout"
style="@style/TasklistTab"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<androidx.viewpager.widget.ViewPager
xmlns:tools="http://schemas.android.com/tools"
android:name="com.adins.mss.base.todolist.form.TaskListFragment_new"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/pager"
tools:context="com.adins.mss.base.todolist.form.TaskListFragment_new">
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

View file

@ -0,0 +1,444 @@
<resources>
<string name="app_name">CollAct</string>
<string name="appVersion">v2.1.0.1</string>
<string name="action_settings">Pengaturan</string>
<string name="collection_activity">AKTIVITAS PENGUMPULAN</string>
<string name="collection_activity_detail">DETAIL AKTIVITAS PENGUMPULAN</string>
<string name="summary_deposit_report">RINGKASAN LAPORAN DEPOSIT</string>
<string name="deposit_report">Laporan Deposit</string>
<string name="history_payment">HISTORI PEMBAYARAN</string>
<string name="installment_schedule">JADWAL ANGSURAN</string>
<string name="installment_schedule_detail">DETAIL JADWAL ANGSURAN</string>
<string name="payment_history">HISTORI PEMBAYARAN</string>
<string name="payment_history_detail">DETAIL HISTORI PEMBAYARAN</string>
<string name="receipt_history">HISTORI KUITANSI</string>
<string name="aboutCopyright">Copyright \u00A9 (2015) AdIns</string>
<string name="enableDevMode">AKTIFKAN MODE PENGEMBANGAN</string>
<string name="disableDevMode">MATIKAN MODE PENGEMBANGAN</string>
<!-- Deposit Report -->
<string name="label_batch_id">Batch ID</string>
<string name="label_transfer_by">Pembayaran Dengan</string>
<string name="label_bank">Bank</string>
<string name="label_bank_name">Nama Bank</string>
<string name="label_cashier_name">Nama Kasir</string>
<string name="label_account_number">Nomor Rekening</string>
<string name="label_transfer_evidence">Bukti Pembayaran</string>
<string name="label_agreement_no">Nomor Persetujuan</string>
<string name="label_deposit_amount">Jumlah Deposit</string>
<string name="label_recapitulation_list">Daftar Rekapitulasi</string>
<string name="label_recapitulate">REKAP</string>
<string name="label_recapitulation">Rekapitulasi</string>
<string name="label_total_task">Jumlah Tugas</string>
<string name="label_total_paid">Jumlah Dibayar</string>
<string name="label_total_visit">Jumlah Kunjungan</string>
<string name="label_total_fail">Jumlah Gagal</string>
<string name="label_paid">DIBAYAR</string>
<string name="label_visit">KUNJUNGAN</string>
<string name="label_fail">GAGAL</string>
<string name="label_detail">Detail</string>
<string name="label_account_number_2">Nomor Rekening :</string>
<string name="label_cashier_name_2">Nama Kasir :</string>
<string name="label_bank_name_2">Nama Bank :</string>
<string name="label_batch_id_2">ID Batch :</string>
<string name="label_transfer_evidence_2">Bukti Pembayaran :</string>
<string name="label_type_dep_name">Type of Deposit</string>
<string name="label_branch_payment">Branch Payment :</string>
<string name="branch_payment_hint">Cabang Pembayaran</string>
<string name="label_transfer_to">Transfer ke :</string>
<string name="label_transfer_evidence_pc">Bukti Pembayaran :</string>
<string name="label_form">Form :</string>
<string name="label_info_batch">Info Batch</string>
<string name="label_type_deposit">Jenis setoran :</string>
<string name="label_info_form">Nama form</string>
<string name="label_info_submitdate">Tanggal kirim</string>
<string name="label_info_total">Total</string>
<string name="label_transfer_to_pc">Bayar Melalui :</string>
<string name="label_transactioncode">Kode Transaksi :</string>
<string name="label_no_trasaction">No. Transaksi</string>
<string name="label_channel_name">Channel Name</string>
<!-- Collection -->
<string name="label_agreement_number">Nomor Persetujuan :</string>
<string name="label_activity_date">Tanggal Aktivitas</string>
<string name="label_action">Aktivitas</string>
<string name="label_collection_number">Nama Collector</string>
<string name="label_no">No</string>
<string name="label_field">Field</string>
<string name="label_value">Value</string>
<!-- Installment Schedule -->
<string name="label_due_date">Tanggal Jatuh Tempo</string>
<string name="label_amount_installment">Jumlah Angsuran</string>
<string name="label_amount_paid">Jumlah Pembayaran</string>
<!-- Payment History -->
<string name="label_transaction_code">Tipe\nTransaksi</string>
<string name="label_posting_date">Tanggal\nPengiriman</string>
<string name="label_amount_paid_2">Jumlah\nPembayaran</string>
<string name="label_amount_installment_2">Jumlah\nAngsuran</string>
<string name="label_transaction_code_2">Kode Transaksi :</string>
<string name="label_no_2">NO</string>
<string name="label_receipt_form_no">NOMOR\nKUITANSI</string>
<string name="label_value_date">TANGGAL\nNILAI</string>
<string name="label_post_date">TANGGAL\nPENGIRIMAN</string>
<string name="label_payment_amount">JUMLAH\nPEMBAYARAN</string>
<string name="label_installment_amount">JUMLAH\nANGSURAN</string>
<string name="label_installment_number">NOMOR\nANGSURAN</string>
<string name="label_wop_code">KODE WOP</string>
<string name="label_payment_allocation_name">NAMA ALOKASI\nPEMBAYARAN</string>
<string name="label_os_amount">JUMLAH OS</string>
<string name="label_receive_amount">JUMLAH\nDITERIMA</string>
<!-- Receipt History -->
<string name="label_contract_number">Nomor Kontak</string>
<string name="label_receipt_number">Nomor Kwitansi</string>
<string name="label_payment_date">Tanggal Bayar</string>
<string name="label_file">File</string>
<!-- Report Summary -->
<string name="summary_kunjungan">Rekap Kunjungan</string>
<string name="label_tanggal">Tanggal</string>
<string name="dummy_tanggal">21102014</string>
<string name="label_collector">Collector</string>
<string name="dummy_collector">Schinalon</string>
<string name="label_total_collected">Total yang Harus Dikumpulkan</string>
<string name="dummy_total_collected">Rp550.000</string>
<string name="dummy_total_paid">Rp98.000</string>
<!-- Loyalti Dashboard Competition -->
<string name="dashboard_competition_page_title">Daftar Rincian Program</string>
<string name="my_point_competition">Poin Saya (%1$s)</string>
<!-- Loyalti Monthly Point -->
<string name="monthly_point_page_title">Perolehan Poin Bulanan</string>
<!-- Loyalti Daily Point -->
<string name="daily_point_page_title">Perolehan Poin Harian</string>
<string name="daily_point_chart_title">Perolehan Poin Bulan %1$s</string>
<string name="average_point">Rata-Rata: %1$d</string>
<string name="y_axis_point_title">Total Poin</string>
<!-- Left Menu -->
<string name="drawer_open">Open drawer</string>
<string name="drawer_close">close_drawer</string>
<!-- CHECK ORDER -->
<string name="btnLookupCMO">Lookup CMO</string>
<string name="btnLookupCMOMH">Lookup CMO / MH</string>
<string name="lblSearchBy">Search by</string>
<string name="lblStartDate">Start Date</string>
<string name="lblEndDate">End Date</string>
<string name="lblNomorOrder">Nomor Order</string>
<string name="btnSearchOrder">Cari</string>
<string name="menu">Main Menu</string>
<string name="cekOrder">Check Order</string>
<string name="btnOpen">Buka</string>
<string name="lblSearchByStatus">Status</string>
<string name="btnOk">OK</string>
<string-array name="cbSearcrBy">
<item >Date</item>
<item >Nomor Order</item>
</string-array>
<string-array name="cbSearcrByStatus">
<item >ALL</item>
<item >On Survey</item>
<item >On CA</item>
</string-array>
<string-array name="cbUpdateOrder">
<item >Open Order</item>
<item >Cancel Order</item>
</string-array>
<!-- Main Menu -->
<string name="title_mn_home">HALAMAN UTAMA</string>
<string name="title_mn_tasklist">DAFTAR TUGAS</string>
<string name="title_mn_log">LOG</string>
<string name="title_mn_reportsummary">RINGKASAN LAPORAN</string>
<string name="title_mn_depositreport">LAPORAN DEPOSIT</string>
<string name="title_mn_absentin">ABSEN MASUK</string>
<string name="title_mn_synchronize">SINKRONISASI</string>
<string name="title_mn_about">INFO</string>
<string name="title_mn_exit">KELUAR</string>
<string name="title_mn_newtask">TASK BARU</string>
<string name="title_mn_creditsimulation">SIMULASI KREDIT</string>
<string name="title_mn_changepassword">GANTI KATA SANDI</string>
<string name="title_mn_paymenthistory">HISTORI PEMBAYARAN</string>
<string name="title_mn_installmentschedule">JADWAL ANGSURAN</string>
<string name="title_mn_collectionactivity">AKTIVITAS PENGUMPULAN</string>
<string name="title_mn_paymenthistorydet">DETAIL JADWAL ANGSURAN</string>
<string name="title_mn_collectionactivitydet">DETAIL AKTIVITAS PENGUMPULAN</string>
<string name="title_mn_installmentscheduledet">DETAIL JADWAL ANGSURAN</string>
<string name="title_mn_setting">Pengaturan</string>
<string name="title_mn_guide">Ulangi Panduan User</string>
<string name="header__title">Ubah Gambar Header </string>
<string name="profile__title">Ubah Foto Profil</string>
<string name="btnTransfer">TRANSFER</string>
<string name="btnSend">Kirim</string>
<string name="btnCancel">Batal</string>
<string name="btnReject">Reject</string>
<string name="btnChange">Ubah</string>
<!-- Synchronize -->
<string name="sync_scheme">Sinkronisasi Skema</string>
<string name="sync_question_set">Sinkronisasi Daftar Pertanyaan</string>
<string name="sync_lookup">Sinkronisasi Lookup</string>
<string name="sync_holiday">Sinkronisasi Hari Libur</string>
<string name="synchronizing">Sinkronisasi</string>
<string name="sync_progress">Progress : 0%</string>
<!-- <string name="progressWait">Please wait...</string> -->
<!-- <string name="msgUnavaibleLocationCheckIn">Unable get location to check in</string> -->
<!-- <string name="msgUnavaibleLocationCheckOut">Unable get location to check out</string> -->
<string-array name="transfer_spinner">
<item>Melalui Bank</item>
<item>Melalui Kasir</item>
</string-array>
<string name="divider_dash">-</string>
<string name="divider_colon">:</string>
<string name="divider_equals_sign">=</string>
<string name="dummy_number"> -</string>
<string name="dummy_text"> -</string>
<string name="title">Title</string>
<string name="take_a_photo">AMBIL FOTO</string>
<string name="dummy_news_desc">Textview</string>
<string name="news_not_found">News not found</string>
<string name="dummy_customer_name">Customer Name</string>
<string name="login_desc">Login ke Aplikasi CollAct</string>
<string name="emergency_sent">Pesan Terkirim !</string>
<string name="emergency_sent_description">Kolektor sedang dalam mode darurat</string>
<string name="toast_crash">Ooooops ! MSSCOLL crashed, but a report has been sent to my developer to help fix the issue !</string>
<string name="title_activity_developer_option">Dev Options</string>
<string name="changelog_v230"><![CDATA[Perbaikan: <br/>
1. Support Multilingual <br/>
2. Update compatibility untuk Android M <br/>
3. Mendukung refresh lokasi dengan mengetuk GPS Icon <br/>
4. Peningkatan performa <br/>
5. Perbaikan managemen memory <br/>
6. Menampilkan radius accuracy di tampilan peta<br/>
7. Menampilkan pertanyaan tidak relevan secara otomatis<br/>
8. Mendukung menyalin jawaban dari pertanyaan lain <br/>
9. Mendukung validasi pertanyaan tingkat lanjut <br/>
10. Mendukung Limit Cash On Hand dari parameter
11. Pencarian Task di task list berdasarkan nama Form<br/>
12. Penambahan Closing Task<br/>
13. Penambahan Receive Voucher
]]></string>
<string name="changelog_v200"><![CDATA[Perbaikan: <br/>
1. Mendukung fitur linimasa tugas<br/>
2. Mendukung menu navigasi]]></string>
<string name="changelog_v210"><![CDATA[Perbaikan: <br/>
1. Mendukung fitur View All header<br/>
2. Mendukung fitur melihat Peta untuk tasklist]]></string>
<string name="changelog_v220"><![CDATA[Perbaikan: <br/>
1. Mendukung fitur Oauth<br/>
2. Mendukung lebih banyak bluetooth printer]]></string>
<string name="title_mn_closing_task">TUTUP TUGAS</string>
<string name="msg_still_uploading_closing_task">Tidak bisa melakukan Closing Task karena masih mengupload data atau ada task yang masih berupa draft</string>
<string name="contract_number">Nomor Kontrak</string>
<string name="lkp_number">Nomor LKP</string>
<string name="changelog_v2310"><![CDATA[Perbaikan: <br/>
1. Mendukung menyalin jawaban dengan kondisi tertentu <br/>
2. Mendukung RV dalam pertanyaan]]></string>
<string name="changelog_v2320"><![CDATA[Perbaikan: <br/>
1. perbaikan gambar profile dan gambar cover
]]></string>
<string name="changelog_v2330"><![CDATA[Perbaikan: <br/>
1. Perbaikan Sinkronisasi<br/>
2. Perbaikan Linimasa untuk Absensi <br/>
3. Perbaikan memuat jawaban pertanyaan<br/>
4. Perbaikan pengiriman duplikasi di Deposit<br/>
5. Menambahkan pengecekan root device]]></string>
<string name="changelog_v2340"><![CDATA[Perbaikan: <br/>
1. Alphanumeric pada Password]]></string>
<string name="changelog_v2350"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v2360"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v2370"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug
2. Perbaikan eror pada GPS]]></string>
<string name="changelog_v2380"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v2390"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23100"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23110"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23120"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23130"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23140"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23150"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23160"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23170"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23180"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v23190"><![CDATA[Perbaikan: <br/>
1. Perbaikan bug]]></string>
<string name="changelog_v2400"><![CDATA[Perbaikan: <br/>
1. Penambahan informasi terkait device di menu about<br/>
2. Mendukung tipe jawaban online lookup<br/>
3. Tampilan task list dapat berupa box atau list<br/>
4. Mendukung multiprinter]]></string>
<string name="changelog_v2500"><![CDATA[Changes: <br/>
1. Interaksi antarmuka baru<br/>
2. Penambahan sinkronisasi data<br/>
3. Perbaikan bug]]></string>
<string name="changelog_v3000"><![CDATA[Changes: <br/>
1. Pesan dan informasi lebih mudah dibaca<br/>
2. Mendukung konfigurasi tema<br/>
3. Mendukung foto profil yang bulat<br/>
4. Penambahan kode unik<br/>
5. Penambahan timestamp foto<br/>
6. Perbaikan bug]]></string>
<string name="changelog_v3001"><![CDATA[Changes: <br/>
1. Menambah toggle untuk visibilitas password pada halaman ubah password<br/>
2. Mengubah pesan error untuk connection timeout<br/>
3. Perbaikan bug dialog nonaktifkan Fake GPS tidak muncul ketika menggunakan lokasi palsu<br/>
4. Perbaikan bug pada pesan user tidak aktif<br/>
5. Menambah Migrasi Database dari Versi 2.5 ke 3.0]]></string>
<string name="changelog_v3002"><![CDATA[Changes: <br/>
1. Perbaikan Search Timeline tidak ada pilihan Uploading Task meskipun ada task yang statusnya uploading.<br/>
2. Perbaikan bug tidak tampil semua option pada radio button dynamic form.<br/>
3. Perbaikan bug dialog nonaktifkan Fake GPS tidak muncul ketika menggunakan lokasi palsu.<br/>
4. Perbaikan bug tidak dapat memunculkan opsi developer pada kanan atas aplikasi.<br/>
5. Perbaikan bug jawaban hilang ketika memulai task dari draft setelah ganti user.<br/>
6. Penambahan pengecekan regex pada input nama customer.]]></string>
<string name="changelog_v3003"><![CDATA[Changes: <br/>
1. Perbaikan google play service update bisa diabaikan.<br/>
2. Penambahan submit lokasi untuk reschedule task.<br/>
3. Perbaikan task list tidak update.<br/>
4. Perbaikan notifikasi uploading.<br/>
5. Disable logger saat print karena menyebabkan crash.<br/>
6. Perbaikan log online.<br/>
7. Penambahan notification channel untuk foreground service notification.<br/>
8. Perbaikan pertanyaan tipe option dan multiple memiliki duplikasi jawaban.<br/>
9. Perbaikan pertanyaan option choice filter tidak tampil.<br/>
10.Penjagaan format datetime dengan panjang lebih dari 14 karakter pada DateTimePicker.<br/>
11.Perbaikan print unique rv.<br/>
12.Perbaikan crash saat submit task manual menggunakan long click.]]></string>
<string name="changelog_v3004"><![CDATA[Changes: <br/>
1. Perbaikan fitur push tema.<br/>
2. Menampilkan notifikasi aplikasi sedang berjalan.<br/>
3. Perbaikan crash ketika membuka menu daftar task.<br/>
4. Perbaikan fitur filter task.<br/>
5. Perbaikan minor bugs.]]></string>
<string name="changelog_v3005"><![CDATA[Changes: <br/>
1. Penambahan pengecekan saat print deposit report.<br/>
2. Penambahan pengecekan untuk limit cash on hand.<br/>
3. Perbaikan crash saat print.<br/>
4. Perbaikan issue jawaban rv number tidak tampil pada log.(RV depan)<br/>
5. Fix minor bugs.]]></string>
<string name="changelog_v3006"><![CDATA[Changes: <br/>
1. Perbaikan fragment overlapped.<br/>
2. Perbaikan deposit report.<br/>
3. Perbaikan sync question set.<br/>
4. Perbaikan filter status pending tidak ada hasil.]]></string>
<string name="changelog_v3007"><![CDATA[Changes: <br/>
1. Perbaikan add taskd untuk log online.<br/>
2. Perbaikan bug di viewholder.<br/>
3. Perbaikan print bitmap.<br/>
4. Menseragamkan format request submit task melalui force send, auto send, dan send biasa.<br/>
5. Perbaikan bug timeline task header tertukar ketika diklik.<br/>
6. Perbaikan minor bug.]]></string>
<string name="changelog_v3008"><![CDATA[Changes: <br/>
1. Perbaikan print bitmap.<br/>
2. Perbaikan minor bug.]]></string>
<string name="changelog_v3009"><![CDATA[Changes: <br/>
1. Menyimpan dan mendapatkan data nomor rv hanya dari tabel Tr_Receiptvoucher.<br/>
2. Menambah print logo multitenant.<br/>
3. Menambah fitur bypass developer mode.<br/>
4. Perbaikan crash saat mengolah pertanyaan dengan choice filter.<br/>
5. Perbaikan minor bug.]]></string>
<string name="changelog_v30013"><![CDATA[Changes: <br/>
1. Menambah support service lokasi untuk Android >= O.<br/>
2. Menambah support service lokasi untuk perangkat oppo, vivo dan xiaomi.<br/>
3. Perbaikan notifikasi update task untuk Android >= O.<br/>
4. Perbaikan print gambar untuk Android >= O.<br/>
5. Perbaikan minor bug.]]></string>
<string name="changelog_v3110"><![CDATA[Changes: <br/>
1. Penambahan status TaskH FailedDraft ketika mendapatkan response code tertentu saat submit task dari web<br/>
2. Penambahan user help .<br/>
3. Pembetulan take picture failed di android 10 .<br/>
4. App lemot saat Login-Logout-Login .<br/>
5. Penyempurnaan answer type LuOnline .<br/>
6. Pembetulan bug uploading task di timeline tidak muncul.<br/>
7. Penambahan support untuk Android 10]]
]]></string>
<string name="changelog_v3120">
<![CDATA[ Changes: <br/>
1. Pembetulan Cloud CSV tidak dapat diimport .<br/>
2. Pembetulan service berhenti ketika keluar aplikasi.<br/>
3. Pembetulan crash saat sinkronisasi .<br/>
4. Pembetulan crash saat is_emergency mati .<br/>
5. Penambahan fitur emergency .<br/>
6. Pembetulan submit task dialog dapat dicancel .<br/>
7. Pembetulan total paid dan visit di summary tidak sama. <br/>
8. Pembetulan report summary \'total to be collected\' tidak muncul .<br/>
9. Pembetulan transaction history \'transaction type\' tidak muncul .<br/>
10. Pembetulan deposit report total 0 .<br/> ]]>
</string>
<string name="changelog_v3130">
<![CDATA[ Changes: <br/>
1. Perbaikan issue user help.<br/>
2. Fix warna timelin task tidak abu-abu setelah melakukan closing task.<br/>
3. Tambah aksi panggil nomor telepon customer pada customer form.<br/>
4. Perbaikan validasi tidak berjalan pada form dikarenakan regex.<br/>
5. Tambahkan teks contoh pada user help data dinamis.<br/>
]]>
</string>
<string name="changelog_v3140">
<![CDATA[ Changes: <br/>
1. Refactor beberapa kode.<br/>
2. Perbaikan bug.<br/>
3. Penambahan fitur today`s plan.<br/>
4. Integrasi loyalti collection.<br/>
5. Penambahan dashboard collection.<br/>]]>
</string>
<string name="changelog_v3201">
<![CDATA[ Changes: <br/>
1. Penambahan Term and Condition.<br/>]]>
</string>
<string name="success_deposit">Transfer Laporan Deposit Sukses</string>
<string name="prompt_printRV">Silahkan cetak struk atau masukan RV</string>
<string name="acc_no_required">Nomor Rekening wajib diisi\n</string>
<string name="bank_name_required">Nama Bank wajib diisi\n</string>
<string name="evidence_required">Bukti Pembayaran wajib disertakan</string>
<string name="cashier_required">Nama Kasir wajib diisi</string>
<string name="label_status">Status</string>
<string name="label_ptp">PTP</string>
<string name="label_notes">Catatan</string>
<string name="label_amount_paid_3">Jumlah Bayar</string>
<string name="label_result">Hasil</string>
<string name="changelog_v3202"><![CDATA[ Changes: <br/>
1. Penambahan Privacy And Policy.<br/>]]></string>
<string name="changelog_v3301"><![CDATA[ Changes: <br/>
1. Migrasi BAFMCS ke versi 3]]></string>
<string name="choose_one">- Pilih Rekening Tujuan -</string>
<string name="choose_one_pc">- Pilih Payment Channel -</string>
<string name="transfer_to_required">Rekening tujuan wajib diisi\n</string>
<string name="channel_to_required">Payment Channel wajib diisi\n</string>
<string name="transfer_code_required">Kode Transaksi wajib diisi\n</string>
<string name="evidence_pc_required">Bukti pembayaran wajib diisi</string>
<string name="branchpayment_required">Cabang pembayaran wajib diisi\n</string>
<string name="bankaccount_required">Back Account wajib diisi\n</string>
</resources>

View file

@ -0,0 +1,35 @@
package com.adins.mss.foundation.scheme.sync;
import com.adins.mss.dao.QuestionSet;
import com.adins.mss.foundation.http.MssResponseType;
import com.google.gson.annotations.SerializedName;
import java.util.List;
/**
* Created by angga.permadi on 5/10/2016.
*/
public class SyncQuestionSetResponse extends MssResponseType {
@SerializedName("errorMessage")
private String errorMessage;
@SerializedName("listQuestionSet")
List<QuestionSet> listQuestionSet;
public List<QuestionSet> getListQuestionSet() {
return this.listQuestionSet;
}
public void setListQuestionSet(List<QuestionSet> value) {
this.listQuestionSet = value;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -0,0 +1,293 @@
package com.adins.mss.dao;
import java.util.List;
import java.util.ArrayList;
import android.database.Cursor;
import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.Property;
import de.greenrobot.dao.internal.SqlUtils;
import de.greenrobot.dao.internal.DaoConfig;
import de.greenrobot.dao.database.Database;
import de.greenrobot.dao.database.DatabaseStatement;
import de.greenrobot.dao.query.Query;
import de.greenrobot.dao.query.QueryBuilder;
import com.adins.mss.dao.GroupUser;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "MS_GROUPUSER".
*/
public class GroupUserDao extends AbstractDao<GroupUser, String> {
public static final String TABLENAME = "MS_GROUPUSER";
/**
* Properties of entity GroupUser.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Uuid_group_user = new Property(0, String.class, "uuid_group_user", true, "UUID_GROUP_USER");
public final static Property Group_id = new Property(1, String.class, "group_id", false, "GROUP_ID");
public final static Property Is_admin = new Property(2, String.class, "is_admin", false, "IS_ADMIN");
public final static Property Group_name = new Property(3, String.class, "group_name", false, "GROUP_NAME");
public final static Property Usr_crt = new Property(4, String.class, "usr_crt", false, "USR_CRT");
public final static Property Dtm_crt = new Property(5, java.util.Date.class, "dtm_crt", false, "DTM_CRT");
public final static Property Usr_upd = new Property(6, String.class, "usr_upd", false, "USR_UPD");
public final static Property Dtm_upd = new Property(7, java.util.Date.class, "dtm_upd", false, "DTM_UPD");
public final static Property Uuid_user = new Property(8, String.class, "uuid_user", false, "UUID_USER");
};
private DaoSession daoSession;
private Query<GroupUser> user_GroupUserListQuery;
public GroupUserDao(DaoConfig config) {
super(config);
}
public GroupUserDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
this.daoSession = daoSession;
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"MS_GROUPUSER\" (" + //
"\"UUID_GROUP_USER\" TEXT PRIMARY KEY NOT NULL ," + // 0: uuid_group_user
"\"GROUP_ID\" TEXT," + // 1: group_id
"\"IS_ADMIN\" TEXT," + // 2: is_admin
"\"GROUP_NAME\" TEXT," + // 3: group_name
"\"USR_CRT\" TEXT," + // 4: usr_crt
"\"DTM_CRT\" INTEGER," + // 5: dtm_crt
"\"USR_UPD\" TEXT," + // 6: usr_upd
"\"DTM_UPD\" INTEGER," + // 7: dtm_upd
"\"UUID_USER\" TEXT);"); // 8: uuid_user
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"MS_GROUPUSER\"";
db.execSQL(sql);
}
/** @inheritdoc */
@Override
protected void bindValues(DatabaseStatement stmt, GroupUser entity) {
stmt.clearBindings();
stmt.bindString(1, entity.getUuid_group_user());
String group_id = entity.getGroup_id();
if (group_id != null) {
stmt.bindString(2, group_id);
}
String is_admin = entity.getIs_admin();
if (is_admin != null) {
stmt.bindString(3, is_admin);
}
String group_name = entity.getGroup_name();
if (group_name != null) {
stmt.bindString(4, group_name);
}
String usr_crt = entity.getUsr_crt();
if (usr_crt != null) {
stmt.bindString(5, usr_crt);
}
java.util.Date dtm_crt = entity.getDtm_crt();
if (dtm_crt != null) {
stmt.bindLong(6, dtm_crt.getTime());
}
String usr_upd = entity.getUsr_upd();
if (usr_upd != null) {
stmt.bindString(7, usr_upd);
}
java.util.Date dtm_upd = entity.getDtm_upd();
if (dtm_upd != null) {
stmt.bindLong(8, dtm_upd.getTime());
}
String uuid_user = entity.getUuid_user();
if (uuid_user != null) {
stmt.bindString(9, uuid_user);
}
}
@Override
protected void attachEntity(GroupUser entity) {
super.attachEntity(entity);
entity.__setDaoSession(daoSession);
}
/** @inheritdoc */
@Override
public String readKey(Cursor cursor, int offset) {
return cursor.getString(offset + 0);
}
/** @inheritdoc */
@Override
public GroupUser readEntity(Cursor cursor, int offset) {
GroupUser entity = new GroupUser( //
cursor.getString(offset + 0), // uuid_group_user
cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // group_id
cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // is_admin
cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // group_name
cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // usr_crt
cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5)), // dtm_crt
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // usr_upd
cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)), // dtm_upd
cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // uuid_user
);
return entity;
}
/** @inheritdoc */
@Override
public void readEntity(Cursor cursor, GroupUser entity, int offset) {
entity.setUuid_group_user(cursor.getString(offset + 0));
entity.setGroup_id(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1));
entity.setIs_admin(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
entity.setGroup_name(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3));
entity.setUsr_crt(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
entity.setDtm_crt(cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5)));
entity.setUsr_upd(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
entity.setDtm_upd(cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)));
entity.setUuid_user(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8));
}
/** @inheritdoc */
@Override
protected String updateKeyAfterInsert(GroupUser entity, long rowId) {
return entity.getUuid_group_user();
}
/** @inheritdoc */
@Override
public String getKey(GroupUser entity) {
if(entity != null) {
return entity.getUuid_group_user();
} else {
return null;
}
}
/** @inheritdoc */
@Override
protected boolean isEntityUpdateable() {
return true;
}
/** Internal query to resolve the "groupUserList" to-many relationship of User. */
public List<GroupUser> _queryUser_GroupUserList(String uuid_user) {
synchronized (this) {
if (user_GroupUserListQuery == null) {
QueryBuilder<GroupUser> queryBuilder = queryBuilder();
queryBuilder.where(Properties.Uuid_user.eq(null));
user_GroupUserListQuery = queryBuilder.build();
}
}
Query<GroupUser> query = user_GroupUserListQuery.forCurrentThread();
query.setParameter(0, uuid_user);
return query.list();
}
private String selectDeep;
protected String getSelectDeep() {
if (selectDeep == null) {
StringBuilder builder = new StringBuilder("SELECT ");
SqlUtils.appendColumns(builder, "T", getAllColumns());
builder.append(',');
SqlUtils.appendColumns(builder, "T0", daoSession.getUserDao().getAllColumns());
builder.append(" FROM MS_GROUPUSER T");
builder.append(" LEFT JOIN MS_USER T0 ON T.\"UUID_USER\"=T0.\"UUID_USER\"");
builder.append(' ');
selectDeep = builder.toString();
}
return selectDeep;
}
protected GroupUser loadCurrentDeep(Cursor cursor, boolean lock) {
GroupUser entity = loadCurrent(cursor, 0, lock);
int offset = getAllColumns().length;
User user = loadCurrentOther(daoSession.getUserDao(), cursor, offset);
entity.setUser(user);
return entity;
}
public GroupUser loadDeep(Long key) {
assertSinglePk();
if (key == null) {
return null;
}
StringBuilder builder = new StringBuilder(getSelectDeep());
builder.append("WHERE ");
SqlUtils.appendColumnsEqValue(builder, "T", getPkColumns());
String sql = builder.toString();
String[] keyArray = new String[] { key.toString() };
Cursor cursor = db.rawQuery(sql, keyArray);
try {
boolean available = cursor.moveToFirst();
if (!available) {
return null;
} else if (!cursor.isLast()) {
throw new IllegalStateException("Expected unique result, but count was " + cursor.getCount());
}
return loadCurrentDeep(cursor, true);
} finally {
cursor.close();
}
}
/** Reads all available rows from the given cursor and returns a list of new ImageTO objects. */
public List<GroupUser> loadAllDeepFromCursor(Cursor cursor) {
int count = cursor.getCount();
List<GroupUser> list = new ArrayList<GroupUser>(count);
if (cursor.moveToFirst()) {
if (identityScope != null) {
identityScope.lock();
identityScope.reserveRoom(count);
}
try {
do {
list.add(loadCurrentDeep(cursor, false));
} while (cursor.moveToNext());
} finally {
if (identityScope != null) {
identityScope.unlock();
}
}
}
return list;
}
protected List<GroupUser> loadDeepAllAndCloseCursor(Cursor cursor) {
try {
return loadAllDeepFromCursor(cursor);
} finally {
cursor.close();
}
}
/** A raw-style query where you can pass any WHERE clause and arguments. */
public List<GroupUser> queryDeep(String where, String... selectionArg) {
Cursor cursor = db.rawQuery(getSelectDeep() + where, selectionArg);
return loadDeepAllAndCloseCursor(cursor);
}
}

View file

@ -0,0 +1,21 @@
package com.services.models;
import com.adins.mss.base.GlobalData;
import com.adins.mss.foundation.http.MssRequestType;
public class JsonRequestRefreshTask extends MssRequestType {
private long dtm_crt;
public JsonRequestRefreshTask(long dtm_crt) {
setAudit(GlobalData.getSharedGlobalData().getAuditData());
setDtm_crt(dtm_crt);
}
public long getDtm_crt() {
return dtm_crt;
}
public void setDtm_crt(long dtm_crt) {
this.dtm_crt = dtm_crt;
}
}

View file

@ -0,0 +1,21 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/bg_grayscale">
<View
android:id="@+id/actionbar"
android:layout_width="match_parent"
android:layout_height="96dp"
android:layout_alignParentTop="true"
android:background="@drawable/actionbar_background" />
<androidx.viewpager.widget.ViewPager
xmlns:tools="http://schemas.android.com/tools"
android:name="com.adins.mss.base.todolist.form.TaskList_Fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/pager"
tools:context="com.adins.mss.base.todolist.form..TaskList_Fragment">
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -0,0 +1,69 @@
package com.adins.mss.foundation.oauth2;
import android.content.Context;
import com.adins.mss.base.GlobalData;
public class OAuth2Client {
private final String username;
private final String password;
private final String clientId;
private final String clientSecret;
private final String site;
/**
* @param username - username
* @param password - password
* @param clientId - Client ID
* @param clientSecret - Client Secret
* @param site - Main Url
*/
public OAuth2Client(String username, String password, String clientId, String clientSecret, String site) {
this.username = username;
this.password = password;
this.clientId = clientId;
this.clientSecret = clientSecret;
this.site = site;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getClientId() {
return clientId;
}
public String getClientSecret() {
return clientSecret;
}
public String getSite() {
return site;
}
/**
* Get Access Token from Oauth
*
* @return
*/
public Token getAccessToken(Context context) {
OAuth2Config oauthConfig = new OAuth2Config.OAuth2ConfigBuilder(username, password, clientId, clientSecret, site)
.grantType("password").build();
if (GlobalData.getSharedGlobalData().isSecureConnection()) {
return OAuthUtils.getAccessTokenHttps(context, oauthConfig);
} else {
return OAuthUtils.getAccessTokenHttp(context, oauthConfig);
}
}
}

View file

@ -0,0 +1,73 @@
package com.adins.mss.foundation.db.dataaccess;
import android.content.Context;
import com.adins.mss.dao.DaoSession;
import com.adins.mss.dao.Emergency;
import com.adins.mss.dao.EmergencyDao;
import com.adins.mss.foundation.db.DaoOpenHelper;
import java.util.List;
import de.greenrobot.dao.query.QueryBuilder;
public class EmergencyDataAccess {
protected static DaoSession getDaoSession(Context context) {
return DaoOpenHelper.getDaoSession(context);
}
/**
* get taskD dao and you can access the DB
*
* @param context
* @return
*/
protected static EmergencyDao getEmergencyDao(Context context) {
return getDaoSession(context).getEmergencyDao();
}
public static void closeAll() {
DaoOpenHelper.closeAll();
}
public static void add(Context context, Emergency emergency) {
getEmergencyDao(context).insertInTx(emergency);
getDaoSession(context).clear();
}
public static void addOrReplace(Context context, Emergency emergency) {
getEmergencyDao(context).insertOrReplaceInTx(emergency);
getDaoSession(context).clear();
}
public static List<Emergency> getAll(Context context){
QueryBuilder<Emergency> qb = getEmergencyDao(context).queryBuilder();
return qb.list();
}
public static void clean(Context context) {
getEmergencyDao(context).deleteAll();
getDaoSession(context).clear();
}
public static List<Emergency> getByUser(Context context, String uuid_user){
QueryBuilder<Emergency> qb = getEmergencyDao(context).queryBuilder();
qb.where(EmergencyDao.Properties.Uuid_user.eq(uuid_user));
qb.build();
return qb.list();
}
public static void delete(Context context, Emergency emergency) {
getEmergencyDao(context).delete(emergency);
getDaoSession(context).clear();
}
public static void delete(Context context, String uuid_user) {
QueryBuilder<Emergency> qb = getEmergencyDao(context).queryBuilder();
qb.where(EmergencyDao.Properties.Uuid_user.eq(uuid_user));
qb.build().forCurrentThread();
getEmergencyDao(context).deleteInTx(qb.list());
getDaoSession(context).clear();
}
}