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,7 @@
package com.adins.mss.base.models;
import com.adins.mss.foundation.http.MssResponseType;
public class SyncParamSuccessResponse extends MssResponseType {
}

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<com.adins.mss.foundation.questiongenerator.form.QuestionView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/questionRadioLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="0. label"
android:id="@+id/questionRadioLabel" />
<TextView
android:id="@+id/questionRadioEmpty"
android:layout_width="match_parent"
android:text="@string/lookup_not_found"
android:visibility="gone"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/radioQuestionList"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/questionRadioDescription"
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="wrap_content" />
</com.adins.mss.foundation.questiongenerator.form.QuestionView>

View file

@ -0,0 +1,206 @@
package com.adins.mss.coll.closingtask.senders;
import android.app.Activity;
import android.app.ProgressDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.view.View;
import com.adins.mss.base.GlobalData;
import com.adins.mss.base.NewMainActivity;
import com.adins.mss.base.crashlytics.FireCrash;
import com.adins.mss.base.util.EventBusHelper;
import com.adins.mss.base.util.GsonHelper;
import com.adins.mss.coll.R;
import com.adins.mss.coll.closingtask.ClosingTaskAdapter;
import com.adins.mss.coll.closingtask.ClosingTaskFragment;
import com.adins.mss.coll.closingtask.models.ClosingTaskListResponse;
import com.adins.mss.coll.closingtask.models.ClosingTaskRequest;
import com.adins.mss.dao.Lookup;
import com.adins.mss.dao.TaskH;
import com.adins.mss.foundation.db.dataaccess.LookupDataAccess;
import com.adins.mss.foundation.db.dataaccess.ReceiptVoucherDataAccess;
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
import com.adins.mss.foundation.http.HttpConnectionResult;
import com.adins.mss.foundation.http.MssResponseType;
import com.google.gson.JsonParseException;
import com.services.MainServices;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
/**
* Created by angga.permadi on 3/3/2016.
*/
public class ClosingTaskSender<Response extends MssResponseType> extends DataTask<Void, Void, Response> {
private Activity context;
private ProgressDialog progressDialog;
private Class<Response> responseClazz;
private String flag;
private ClosingTaskListener listener;
private boolean isClosingTaskSuccess = false;
public ClosingTaskSender(Activity context, ClosingTaskRequest request, Class<Response> responseClazz) {
super(context, request);
this.context = context;
this.flag = request.getFlag();
this.responseClazz = responseClazz;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(context, "", context.getString(R.string.please_wait), true, false);
}
@Override
protected Response onBackgroundResult(HttpConnectionResult serverResult) {
Response resultBean = null;
if (serverResult != null) {
log(serverResult.getResult());
if (serverResult.isOK()) {
try {
resultBean = GsonHelper.fromJson(serverResult.getResult(), responseClazz);
} catch (JsonParseException e) {
errorMessage = context.getString(R.string.jsonParseFailed);
} catch (Exception e) {
FireCrash.log(e);
errorMessage = context.getString(R.string.jsonParseFailed);
}
} else {
errorMessage = context.getString(R.string.jsonParseFailed);
}
}
return resultBean;
}
@Override
protected void onPostExecute(Response response) {
super.onPostExecute(response);
boolean isShowDialog = false;
if (progressDialog != null) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
}
progressDialog = null;
}
final NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(context);
if (!GlobalData.isRequireRelogin()) {
if (errorMessage != null) {
dialogBuilder.withTitle(context.getString(R.string.error_capital))
.withMessage(errorMessage);
isShowDialog = true;
} else if (response == null) {
dialogBuilder.withTitle(context.getString(R.string.error_capital))
.withMessage(context.getString(R.string.empty_data));
isShowDialog = true;
} else {
if (response.getStatus().getCode() == 0) {
if (flag.equals(ClosingTaskRequest.CLOSING_TASK)) {
dialogBuilder.withTitle(context.getString(R.string.info_capital))
.withMessage(response.getStatus().getMessage());
// delete all rv number
ReceiptVoucherDataAccess.clean(context);
LookupDataAccess.deleteByLovGroup(context, "RV NUMBER");
// List<TaskH> processedTask = new ArrayList<>();
String uuidUser = GlobalData.getSharedGlobalData().getUser().getUuid_user();
TaskHDataAccess.updateStatusClosingTask(context , TaskHDataAccess.STATUS_SEND_DELETED, uuidUser);
// processedTask = TaskHDataAccess.getAllTaskByStatusNewAndDownload(context, uuidUser);
// for (int x = 0; x < processedTask.size(); x++){
// TaskHDataAccess.updateStatus(context, processedTask.get(x), TaskHDataAccess.STATUS_SEND_DELETED);
// }
if (listener != null) {
listener.onClosingTaskSuccess();
}
//EventBusHelper.post(response);
isShowDialog = true;
isClosingTaskSuccess = true;
EventBusHelper.post(MainServices.ACTION_GET_NOTIFICATION_THREAD);
} else if (flag.equals(ClosingTaskRequest.CLOSING_TASK_LIST)) {
ClosingTaskListResponse response1 = (ClosingTaskListResponse) response;
if (response1.getTaskList() == null || response1.getTaskList().size() == 0) {
String message = response1.getStatus().getMessage();
if (message == null || message.isEmpty()) {
message = context.getString(R.string.msgNoSurvey);
}
dialogBuilder.withTitle(context.getString(R.string.info_capital)).withMessage(message);
isShowDialog = true;
} else {
ClosingTaskAdapter.getInstance().clear();
ClosingTaskAdapter.getInstance().notifyDataSetChanged();
ClosingTaskAdapter.getInstance().processData(response1.getTaskList());
if (!context.isFinishing()) {
Fragment fragment = ClosingTaskFragment.newInstance();
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
transaction.setCustomAnimations(R.anim.activity_open_translate, R.anim.activity_close_scale, R.anim.activity_open_scale, R.anim.activity_close_translate);
transaction.replace(R.id.content_frame, fragment);
transaction.addToBackStack(null);
transaction.commit();
isShowDialog = false;
}
}
}
} else {
dialogBuilder.withTitle(context.getString(R.string.error_capital))
.withMessage(response.getStatus().getMessage());
isShowDialog = true;
}
}
if (flag.equals(ClosingTaskRequest.CLOSING_TASK) || isShowDialog) {
dialogBuilder.isCancelable(false);
dialogBuilder.isCancelableOnTouchOutside(false);
dialogBuilder.withButton1Text(context.getString(R.string.btnClose)).
setButton1Click(new View.OnClickListener() {
@Override
public void onClick(View paramView) {
dialogBuilder.dismiss();
if (isClosingTaskSuccess) {
context.onBackPressed();
}
}
});
dialogBuilder.show();
}
//Fix Me
// if (flag.equals(ClosingTaskRequest.CLOSING_TASK_LIST)) {
// if (context instanceof MainMenuActivity) {
// try {
// Global.positionStack.remove(Global.positionStack.lastElement());
// ((MainMenuActivity) context).mDrawerListLeft.
// setItemChecked(Global.positionStack.lastElement(), true);
// MainMenuActivity.tempPosition = Global.positionStack.lastElement();
// } catch (Exception ex) {
// // empty
// }
// }
// }
}
}
public void setListener(ClosingTaskListener listener) {
this.listener = listener;
}
@Override
protected String getUrl() {
return GlobalData.getSharedGlobalData().getURL_CLOSING_TASK();
}
}

View file

@ -0,0 +1,144 @@
package com.services;
import android.content.Context;
import com.adins.mss.base.GlobalData;
import com.adins.mss.base.crashlytics.FireCrash;
import com.adins.mss.base.util.GsonHelper;
import com.adins.mss.base.util.Utility;
import com.adins.mss.constant.Global;
import com.adins.mss.dao.GeneralParameter;
import com.adins.mss.dao.ReceiptVoucher;
import com.adins.mss.dao.TaskH;
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
import com.adins.mss.foundation.db.dataaccess.ReceiptVoucherDataAccess;
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
import com.adins.mss.foundation.formatter.Tool;
import com.adins.mss.foundation.http.HttpConnectionResult;
import com.adins.mss.foundation.http.HttpCryptedConnection;
import com.adins.mss.foundation.print.rv.RVEntity;
import com.adins.mss.foundation.print.rv.RVNumberRequest;
import com.adins.mss.foundation.print.rv.RVNumberResponse;
import com.adins.mss.logger.Logger;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.HttpMetric;
import com.google.gson.JsonParseException;
/**
* Created by angga.permadi on 4/20/2016.
*/
public class AutoSendRVNumberThread extends Thread {
private Context context;
private volatile boolean keepRunning;
private int interval;
public AutoSendRVNumberThread(Context context) {
this.context = context;
try {
GeneralParameter gp = GeneralParameterDataAccess.getOne(context,
GlobalData.getSharedGlobalData().getUser().getUuid_user(),
Global.GS_INTERVAL_AUTOSEND);
if (gp != null) {
interval = Global.SECOND * Integer.parseInt(gp.getGs_value());
}
} catch (Exception e) {
FireCrash.log(e);
e.printStackTrace();
interval = Global.MINUTE * 2;
}
}
@Override
public void run() {
super.run();
keepRunning = true;
while (keepRunning) {
RVNumberResponse resultBean = null;
boolean isError = false;
String uuidUser = GlobalData.getSharedGlobalData().getUser()
.getUuid_user();
TaskH taskH = TaskHDataAccess.getOneTaskByStatusRV(context, uuidUser, TaskHDataAccess.STATUS_RV_PENDING);
if (taskH != null) {
System.gc();
if (Tool.isInternetconnected(context)) {
RVEntity rv = new RVEntity();
rv.setUuid_task_h(taskH.getUuid_task_h());
ReceiptVoucher rvNumber = ReceiptVoucherDataAccess.getOne(context, uuidUser, taskH.getRv_number());
if (rvNumber != null) {
rv.setRv_number(rvNumber.getRv_number());
rv.setDtm_use(rvNumber.getDtm_use());
}
RVNumberRequest entity = new RVNumberRequest();
entity.setRvBlank(rv);
entity.setAudit(GlobalData.getSharedGlobalData().getAuditData());
HttpCryptedConnection httpConn = new HttpCryptedConnection(context,
GlobalData.getSharedGlobalData().isEncrypt(), GlobalData.getSharedGlobalData().isDecrypt());
HttpConnectionResult serverResult = null;
String url = GlobalData.getSharedGlobalData().getURL_RV_NUMBER();
HttpMetric networkMetric =
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
Utility.metricStart(networkMetric, GsonHelper.toJson(entity));
try {
serverResult = httpConn.requestToServer(url,
GsonHelper.toJson(entity), Global.DEFAULTCONNECTIONTIMEOUT);
Utility.metricStop(networkMetric, serverResult);
} catch (Exception e) {
FireCrash.log(e);
e.printStackTrace();
isError = true;
}
if (serverResult != null) {
Logger.d(this, serverResult.getResult());
if (serverResult.isOK()) {
try {
resultBean = GsonHelper.fromJson(serverResult.getResult(), RVNumberResponse.class);
} catch (JsonParseException e) {
e.printStackTrace();
isError = true;
}
if (resultBean != null) {
if (resultBean.getStatus() != null &&
resultBean.getStatus().getCode() == 0) {
taskH.setStatus_rv(TaskHDataAccess.STATUS_RV_SENT);
TaskHDataAccess.addOrReplace(context, taskH);
} else {
isError = true;
}
}
} else {
isError = true;
}
}
} else {
isError = true;
}
} else {
keepRunning = false;
}
int interval2 = isError ? interval : 1000;
try {
sleep(interval2);
} catch (InterruptedException e) {
e.printStackTrace();
Thread.currentThread().interrupt();
}
}
}
public boolean isRunning() {
return keepRunning;
}
}

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#ffffff" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#1e55c3"
android:endColor="#0ba0e9"
android:angle="270"
/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>

View file

@ -0,0 +1,127 @@
package com.adins.mss.odr.accounts;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import androidx.fragment.app.FragmentActivity;
import android.widget.Toast;
import com.adins.mss.base.GlobalData;
import com.adins.mss.base.util.GsonHelper;
import com.adins.mss.constant.Global;
import com.adins.mss.dao.Account;
import com.adins.mss.dao.Product;
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
import com.adins.mss.foundation.formatter.Tool;
import com.adins.mss.foundation.http.HttpConnectionResult;
import com.adins.mss.foundation.http.HttpCryptedConnection;
import com.adins.mss.odr.R;
import com.adins.mss.odr.accounts.api.LoadProductContactRequest;
import com.adins.mss.odr.accounts.api.LoadProductContactResponse;
import java.util.ArrayList;
import java.util.List;
/**
* Created by olivia.dg on 12/19/2017.
*/
public class LoadProductContact extends AsyncTask<Void, Void, ArrayList<String>> {
private FragmentActivity activity;
private Account account;
private String uuidAccount;
private ProgressDialog progressDialog;
private String errMessage;
private ArrayList<String> result = new ArrayList<String>();
public LoadProductContact(FragmentActivity activity, Account account) {
this.activity = activity;
this.account = account;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(activity, "", activity.getString(R.string.contact_server), true);
}
@Override
protected ArrayList<String> doInBackground(Void... params) {
if (Tool.isInternetconnected(activity)) {
uuidAccount = account.getUuid_account();
LoadProductContactRequest request = new LoadProductContactRequest();
request.setUuid_account(uuidAccount);
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
String json = GsonHelper.toJson(request);
String url = GlobalData.getSharedGlobalData().getURL_GET_PRODUCT_CONTACT();
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
HttpCryptedConnection httpConn = new HttpCryptedConnection(activity, encrypt, decrypt);
HttpConnectionResult serverResult = null;
try {
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
} catch (Exception e) {
e.printStackTrace();
}
LoadProductContactResponse response = null;
if (serverResult != null && serverResult.isOK()) {
try {
String responseBody = serverResult.getResult();
response = GsonHelper.fromJson(responseBody, LoadProductContactResponse.class);
} catch (Exception e) {
if(Global.IS_DEV) {
e.printStackTrace();
errMessage=e.getMessage();
}
}
List<Product> productList = response.getListProduct();
if (productList != null && productList.size() != 0) {
for (Product product : productList) {
result.add(product.getUuid_product());
}
} else {
errMessage = activity.getString(R.string.no_data_from_server);
}
} else {
errMessage = activity.getString(R.string.server_down);
}
} else {
errMessage = activity.getString(R.string.no_internet_connection);
}
return result;
}
@Override
protected void onPostExecute(ArrayList<String> products) {
super.onPostExecute(products);
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
if (errMessage != null) {
if (errMessage.equals(activity.getString(R.string.no_data_from_server))) {
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(activity);
builder.withTitle("INFO")
.withMessage(errMessage)
.show();
} else {
Toast.makeText(activity, errMessage, Toast.LENGTH_SHORT).show();
}
} else {
String accountId = account.getUuid_account();
Intent intent = new Intent(activity, AccountResultActivity.class);
Bundle extra = new Bundle();
extra.putString(Global.BUND_KEY_ACCOUNT_ID, accountId);
extra.putStringArrayList(Global.BUND_KEY_PRODUCT_ID, products);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtras(extra);
activity.startActivity(intent);
}
}
}