Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
meser
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Suryono
meser
Commits
56b84de0
Commit
56b84de0
authored
Aug 28, 2020
by
Muhammad Suryono
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update with transaksi
parent
d720eb45
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
170 additions
and
90 deletions
+170
-90
BottomSheets.java
app/src/main/java/com/yono/messeripos/BottomSheets.java
+3
-0
CartActivity.java
app/src/main/java/com/yono/messeripos/CartActivity.java
+21
-11
FormProductActivity.java
...rc/main/java/com/yono/messeripos/FormProductActivity.java
+94
-44
HistoryActivity.java
app/src/main/java/com/yono/messeripos/HistoryActivity.java
+1
-11
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+5
-4
PaymentActivity.java
app/src/main/java/com/yono/messeripos/PaymentActivity.java
+2
-2
ProductAdapter.java
...main/java/com/yono/messeripos/adapter/ProductAdapter.java
+6
-0
ProductService.java
.../java/com/yono/messeripos/api/service/ProductService.java
+4
-0
PaymentsModels.java
.../main/java/com/yono/messeripos/models/PaymentsModels.java
+12
-0
activity_bottom_sheets.xml
app/src/main/res/layout/activity_bottom_sheets.xml
+22
-18
No files found.
app/src/main/java/com/yono/messeripos/BottomSheets.java
View file @
56b84de0
package
com
.
yono
.
messeripos
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.SharedPreferences
;
import
android.os.Bundle
;
...
...
@@ -43,6 +44,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
String
defaultText
=
"0"
;
Client
client
=
new
Client
();
public
static
long
grossAmount
;
SharedPreferences
sharedPreferences
;
PaymentsModels
paymentsModels
;
public
BottomSheets
(
PaymentsModels
paymentsModels
)
{
...
...
@@ -71,6 +73,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
btnCash
=
v
.
findViewById
(
R
.
id
.
btnCash
);
totalHarga
=
v
.
findViewById
(
R
.
id
.
totalHarga
);
utils
=
new
Utils
();
// sharedPreferences = getActivity().getSharedPreferences(MainActivity.ORDER_ID, Context.MODE_PRIVATE);
long
ga
=
paymentsModels
.
getGrossAmount
();
String
setCurrency
=
utils
.
convertPrice
(
"Rp."
,
ga
);
...
...
app/src/main/java/com/yono/messeripos/CartActivity.java
View file @
56b84de0
...
...
@@ -94,17 +94,17 @@ public class CartActivity extends AppCompatActivity {
Window
w
=
getWindow
();
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
sharedPreferences
=
getSharedPreferences
(
SplashScreen
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
Log
.
i
(
"Id Order on acart"
,
"onCreate: "
+
orderId
);
if
(
orderId
.
isEmpty
()){
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
editor
.
putString
(
ORDER_ID
,
"MES-ORDER"
+
orderId
);
if
(
editor
.
commit
()){
Toast
.
makeText
(
CartActivity
.
this
,
orderId
,
Toast
.
LENGTH_LONG
).
show
();
}
}
sharedPreferences
=
getSharedPreferences
(
MainActivity
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
//
Log.i("Id Order on acart", "onCreate: "+orderId);
//
if (orderId.isEmpty()){
//
SharedPreferences.Editor editor = sharedPreferences.edit();
//
editor.putString(ORDER_ID, "MES-ORDER"+orderId);
//
//
if (editor.commit()){
//
Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show();
//
}
//
}
// Toolbars
MaterialToolbar
toolbars
=
findViewById
(
R
.
id
.
cAppBar
);
...
...
@@ -250,4 +250,14 @@ public class CartActivity extends AppCompatActivity {
}
});
}
@Override
public
void
onBackPressed
()
{
if
(
sharedPreferences
.
getString
(
ORDER_ID
,
""
)
==
null
){
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
editor
.
putString
(
ORDER_ID
,
"MES-ORDER"
+
utils
.
timeStamp
());
editor
.
commit
();
}
super
.
onBackPressed
();
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/FormProductActivity.java
View file @
56b84de0
...
...
@@ -71,6 +71,7 @@ public class FormProductActivity extends AppCompatActivity {
private
Utils
utils
=
new
Utils
();
ProgressDialog
progressDialog
;
Client
client
=
new
Client
();
ProductModels
productModelsIntent
;
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
...
...
@@ -90,7 +91,7 @@ public class FormProductActivity extends AppCompatActivity {
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
}
ProductModels
productModelsIntent
=
getIntent
().
getParcelableExtra
(
MainActivity
.
DATA_PRODUCT
);
productModelsIntent
=
getIntent
().
getParcelableExtra
(
MainActivity
.
DATA_PRODUCT
);
MaterialToolbar
toolbars
=
findViewById
(
R
.
id
.
topAppBarForm
);
...
...
@@ -110,6 +111,10 @@ public class FormProductActivity extends AppCompatActivity {
productModels
.
setPriceProduct
(
productModelsIntent
.
getPriceProduct
());
productModels
.
setStockProduct
(
productModelsIntent
.
getStockProduct
());
productModels
.
setImageProduct
(
productModelsIntent
.
getImageProduct
());
binding
.
setProductForm
(
productModelsIntent
);
binding
.
setPhoto
(
productModelsIntent
.
getImageProduct
());
binding
.
btnAdd
.
setText
(
"UPDATE PRODUCT"
);
}
else
{
productModelsIntent
=
new
ProductModels
(
""
,
0
,
0
,
utils
.
convertImageBase64Resource
(
getResources
(),
R
.
drawable
.
logo_32
));
...
...
@@ -169,6 +174,50 @@ public class FormProductActivity extends AppCompatActivity {
productModels
.
setStockProduct
(
Integer
.
parseInt
(
binding
.
etStock
.
getText
().
toString
()));
productModels
.
setCategoryProduct
(
binding
.
listCategory
.
getSelectedIndex
());
if
(
isUpdate
){
Log
.
i
(
"update_path"
,
"saveProduct: "
+
locationPath
);
if
(
!
productModels
.
getProductName
().
isEmpty
()
||
productModels
.
getPriceProduct
()
!=
0
||
productModels
.
getStockProduct
()
!=
0
){
progressDialog
.
setCancelable
(
false
);
progressDialog
.
show
();
ProductService
productService
=
client
.
Client
(
ProductService
.
class
);
Log
.
i
(
"data_post"
,
"saveProduct: "
+
utils
.
convertGson
(
productModels
));
productService
.
updateProduct
(
productModels
,
productModelsIntent
.
getIdProduct
()).
enqueue
(
new
Callback
<
DataResponse
<
ProductModels
>>()
{
@Override
public
void
onResponse
(
Call
<
DataResponse
<
ProductModels
>>
call
,
Response
<
DataResponse
<
ProductModels
>>
response
)
{
Log
.
i
(
"Success Post"
,
"onResponse: "
+
utils
.
convertGson
(
response
.
body
()));
if
(
response
.
body
()
!=
null
){
new
AlertDialog
.
Builder
(
FormProductActivity
.
this
)
.
setCancelable
(
false
)
.
setTitle
(
"Update Product"
)
.
setMessage
(
"Update product success"
)
.
setPositiveButton
(
"Oke"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialogInterface
,
int
i
)
{
startActivity
(
new
Intent
(
FormProductActivity
.
this
,
MainActivity
.
class
));
finish
();
}
}).
show
();
}
else
{
new
AlertDialog
.
Builder
(
FormProductActivity
.
this
)
.
setTitle
(
"Update Product"
)
.
setMessage
(
"Update product failed, try again!"
).
show
();
}
progressDialog
.
dismiss
();
}
@Override
public
void
onFailure
(
Call
<
DataResponse
<
ProductModels
>>
call
,
Throwable
t
)
{
progressDialog
.
dismiss
();
Log
.
e
(
"Error input"
,
"onFailure: "
,
t
);
}
});
}
}
else
{
Log
.
i
(
"save_path"
,
"saveProduct: "
+
locationPath
);
if
(
locationPath
!=
null
){
File
fileImage
=
new
File
(
locationPath
);
...
...
@@ -218,6 +267,7 @@ public class FormProductActivity extends AppCompatActivity {
}
}
}
}
private
void
openFile
(){
Intent
i
=
new
Intent
(
Intent
.
ACTION_PICK
,
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
...
...
app/src/main/java/com/yono/messeripos/HistoryActivity.java
View file @
56b84de0
...
...
@@ -66,21 +66,11 @@ public class HistoryActivity extends AppCompatActivity {
new
Observer
<
DataResponse
<
List
<
PaymentsModels
>>>()
{
@Override
public
void
onChanged
(
DataResponse
<
List
<
PaymentsModels
>>
listDataResponse
)
{
Log
.
i
(
"Hasil_transaksi"
,
"onChanged: "
+
utils
.
convertGson
(
listDataResponse
.
getData
()));
ArrayList
<
PaymentsModels
>
newData
=
new
ArrayList
<>();
newData
.
addAll
(
listDataResponse
.
getData
());
transactionAdapter
.
setTransactionAdapter
(
HistoryActivity
.
this
,
newData
);
/*
* SET RECYCLE VIEW MANAGER DISINI
* GUNAKAN LINEARLAYOUT MANAGER VERTICAL UNTUK SETTING LAYOUT MANAGER
*
* SET RECYCLEVIEW ADAPTER DENGAN TRANSACTION ADAPTER
*
* UNTUK BISA CLICK CARD VIEW NYA
* PANGGIL ADAPTERNYA KEMUDIAN .setList.....
* SILAHKAN PINDAH KE ACTIVITY SELANJUTNYA PADA ON.....
* */
loading
.
setVisibility
(
View
.
GONE
);
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
HistoryActivity
.
this
,
RecyclerView
.
VERTICAL
,
false
));
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
56b84de0
...
...
@@ -31,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.button.MaterialButton
;
import
com.google.android.material.snackbar.Snackbar
;
import
com.google.gson.Gson
;
import
com.yono.messeripos.adapter.CategoryAdapter
;
...
...
@@ -72,8 +73,9 @@ public class MainActivity extends AppCompatActivity {
Client
client
=
new
Client
();
public
static
ArrayList
<
ProductModels
>
productModelsArrayList
=
new
ArrayList
<>();
public
static
final
String
DATA_PRODUCT
=
"DATA_PRODUCT"
;
public
static
final
String
MY_SHARED_PREFERENCES
=
"my_shared_preferences"
;
ProgressDialog
progressDialog
;
public
static
Boolean
cartOpen
;
MaterialButton
btnAddCart
;
@SuppressLint
(
"LongLogTag"
)
@Override
...
...
@@ -84,13 +86,12 @@ public class MainActivity extends AppCompatActivity {
ProductAdapter
adapter
=
new
ProductAdapter
();
binding
.
rvProduct
.
setAdapter
(
adapter
);
// binding.appBarUpdate.setVisibility(View.GONE);
showLoading
(
true
);
categoryAdapter
=
new
CategoryAdapter
();
productAdapter
=
new
ProductAdapter
();
mainViewModelsCart
=
new
ViewModelProvider
(
MainActivity
.
this
).
get
(
MainViewModelsCart
.
class
);
sharedPreferences
=
getSharedPreferences
(
SplashScreen
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
sharedPreferences
=
getSharedPreferences
(
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
checkout
=
sharedPreferences
.
getBoolean
(
CHECKOUT
,
false
);
orderId
=
sharedPreferences
.
getString
(
ORDER_ID
,
""
);
progressDialog
=
new
ProgressDialog
(
MainActivity
.
this
);
...
...
@@ -105,7 +106,7 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
editor
.
putString
(
ORDER_ID
,
"MES-ORDER"
+
utils
.
timeStamp
());
if
(
editor
.
commit
()){
Toast
.
makeText
(
MainActivity
.
this
,
orderId
,
Toast
.
LENGTH_LONG
).
show
();
//
Toast.makeText(MainActivity.this, orderId, Toast.LENGTH_LONG).show();
}
}
...
...
app/src/main/java/com/yono/messeripos/PaymentActivity.java
View file @
56b84de0
...
...
@@ -77,7 +77,7 @@ public class PaymentActivity extends AppCompatActivity {
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
}
sharedPreferences
=
getSharedPreferences
(
SplashScreen
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
sharedPreferences
=
getSharedPreferences
(
MainActivity
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
paymentsModels
=
new
PaymentsModels
();
checkoutAdapter
=
new
CheckoutAdapter
();
...
...
@@ -91,7 +91,7 @@ public class PaymentActivity extends AppCompatActivity {
setSupportActionBar
(
toolbars
);
DividerItemDecoration
dividerItemDecoration
=
new
DividerItemDecoration
(
this
,
DividerItemDecoration
.
VERTICAL
);
mainViewModels
=
new
ViewModelProvider
(
PaymentActivity
.
this
).
get
(
MainViewModelsCart
.
class
);
mainViewModels
.
getCart
Product
(
).
observe
(
this
,
new
Observer
<
List
<
ProductCartModels
>>()
{
mainViewModels
.
getCart
ById
(
orderId
).
observe
(
this
,
new
Observer
<
List
<
ProductCartModels
>>()
{
@Override
public
void
onChanged
(
List
<
ProductCartModels
>
productCartModels
)
{
String
js
=
new
Gson
().
toJson
(
productCartModels
);
...
...
app/src/main/java/com/yono/messeripos/adapter/ProductAdapter.java
View file @
56b84de0
...
...
@@ -146,6 +146,12 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding
.
setStatus
(
statusProduct
);
}
if
(
products
.
getStockProduct
()
<=
1
){
binding
.
materialBtnAddCart
.
setEnabled
(
false
);
}
else
{
binding
.
materialBtnAddCart
.
setEnabled
(
true
);
}
binding
.
materialBtnAddCart
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
...
...
app/src/main/java/com/yono/messeripos/api/service/ProductService.java
View file @
56b84de0
...
...
@@ -16,6 +16,7 @@ import retrofit2.http.DELETE;
import
retrofit2.http.GET
;
import
retrofit2.http.Multipart
;
import
retrofit2.http.POST
;
import
retrofit2.http.PUT
;
import
retrofit2.http.Part
;
import
retrofit2.http.Path
;
...
...
@@ -30,6 +31,9 @@ public interface ProductService {
@POST
(
ApiHelper
.
VERSI_API_1
+
"product"
)
Call
<
DataResponse
<
ProductModels
>>
postProduct
(
@Body
ProductModels
productModels
);
@PUT
(
ApiHelper
.
VERSI_API_1
+
"product/{id}"
)
Call
<
DataResponse
<
ProductModels
>>
updateProduct
(
@Body
ProductModels
productModels
,
@Path
(
"id"
)
int
id
);
@Multipart
@POST
(
ApiHelper
.
VERSI_API_1
+
"product"
)
Call
<
DataResponse
<
ProductModels
>>
postProducts
(
...
...
app/src/main/java/com/yono/messeripos/models/PaymentsModels.java
View file @
56b84de0
...
...
@@ -24,6 +24,10 @@ public class PaymentsModels {
@SerializedName
(
"updated_at"
)
private
String
updatedAt
;
@SerializedName
(
"va_number"
)
private
String
nomorPembayaran
;
public
PaymentsModels
()
{
}
...
...
@@ -89,4 +93,12 @@ public class PaymentsModels {
public
void
setUpdatedAt
(
String
updatedAt
)
{
this
.
updatedAt
=
updatedAt
;
}
public
String
getNomorPembayaran
()
{
return
nomorPembayaran
;
}
public
void
setNomorPembayaran
(
String
nomorPembayaran
)
{
this
.
nomorPembayaran
=
nomorPembayaran
;
}
}
app/src/main/res/layout/activity_bottom_sheets.xml
View file @
56b84de0
...
...
@@ -16,6 +16,16 @@
android:textFontWeight=
"600"
android:layout_alignParentStart=
"true"
/>
<TextView
android:id=
"@+id/changeText"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Change"
android:textSize=
"20sp"
android:textFontWeight=
"600"
android:layout_below=
"@id/totalText"
android:layout_alignParentStart=
"true"
/>
<TextView
android:id=
"@+id/totalHarga"
android:layout_width=
"wrap_content"
...
...
@@ -25,13 +35,23 @@
android:textFontWeight=
"600"
android:layout_alignParentEnd=
"true"
/>
<TextView
android:id=
"@+id/hargaChange"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Rp. 600.000"
android:textSize=
"20sp"
android:textFontWeight=
"600"
android:layout_below=
"@id/totalHarga"
android:layout_alignParentEnd=
"true"
/>
<TextView
android:id=
"@+id/label"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Bayar"
android:textFontWeight=
"600"
android:layout_below=
"@id/
totalHarga
"
/>
android:layout_below=
"@id/
changeText
"
/>
<EditText
android:id=
"@+id/etBayar"
...
...
@@ -42,29 +62,13 @@
android:inputType=
"number"
android:imeOptions=
"actionDone"
/>
<TextView
android:id=
"@+id/textChange"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Change"
android:layout_below=
"@id/etBayar"
android:layout_alignParentEnd=
"true"
/>
<TextView
android:id=
"@+id/hargaChange"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Rp.20.000"
android:layout_below=
"@id/textChange"
android:layout_alignParentEnd=
"true"
/>
<Button
android:id=
"@+id/btnCash"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"@string/hint_pay"
android:hint=
"Insert Money"
android:layout_below=
"@id/
hargaChange
"
/>
android:layout_below=
"@id/
etBayar
"
/>
</RelativeLayout>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment