Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
183a3d74
Commit
183a3d74
authored
Jul 29, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、相同食品主食品數量合併
parent
67a1c0bc
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
762 additions
and
315 deletions
+762
-315
base-module/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
+5
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderPayRequest.java
+1
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/RestaurantExpandInfo.java
+18
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/RestaurantExpandInfoUtils.java
+7
-3
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/TableBean.java
+33
-155
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/TableExtBean.java
+36
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/function/FunctionStyleUtils.java
+0
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/widget/dialog/BaseRetryDialog.java
+123
-0
manager-module/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/fragment/AddTableFragment.java
+4
-0
manager-module/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/fragment/TableListFragment.java
+2
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
+7
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/TableModel.java
+15
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SplitTableNumber.java
+23
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/AddOrderRequest.java
+5
-51
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/CreateOrderRequest.java
+5
-71
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/DeleteOrderRequest.java
+3
-3
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/TableService.java
+7
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+66
-3
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+2
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+113
-17
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+8
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+44
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/SplitTableDialog.java
+186
-0
table-module/src/main/res/layout/table_dialog_split.xml
+48
-0
No files found.
base-module/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
View file @
183a3d74
...
...
@@ -22,6 +22,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy;
import
com.elvishew.xlog.printer.file.naming.DateFileNameGenerator
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.common.bean.RestaurantExpandInfo
;
import
com.gingersoft.gsa.cloud.base.utils.AidlUtil
;
import
com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler
;
import
com.gingersoft.gsa.cloud.base.utils.file.FileUtils
;
...
...
@@ -58,6 +59,10 @@ public class GsaCloudApplication extends BaseApplication {
private
static
GsaCloudApplication
mAppContext
;
private
Activity
mCurrentActivity
;
/**餐廳擴展信息*/
public
static
RestaurantExpandInfo
restaurantExpandInfo
;
public
static
FunctionStyleUtils
androidSetting
;
/**是否開啟皮膚切換*/
public
static
boolean
openSkinMake
=
false
;
/**
...
...
@@ -66,7 +71,6 @@ public class GsaCloudApplication extends BaseApplication {
public
static
int
REQUEST_TIMEOUT
=
15
;
public
static
boolean
isLogin
=
false
;
public
static
FunctionStyleUtils
androidSetting
;
public
static
String
userName
=
""
;
/**
* 商米:V2、V2_PRO N5:N5
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderPayRequest.java
View file @
183a3d74
...
...
@@ -23,6 +23,7 @@ public class OrderPayRequest {
private
long
orderId
;
private
int
linePayType
;
private
int
orderPayType
;
private
String
tableNumber
;
private
List
<
orderPay
>
orderPays
=
new
ArrayList
<>();
@Data
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/RestaurantExpandInfo.java
0 → 100644
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
common
.
bean
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-28
* 修订历史:2020-07-28
* 描述:
*/
@Data
public
class
RestaurantExpandInfo
{
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/RestaurantExpandInfoUtils.java
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
common
.
bean
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
...
...
@@ -17,9 +18,10 @@ public class RestaurantExpandInfoUtils {
/**
* 保存常用信息
*
* @param expandInfoList
*/
public
static
void
setCommonExpandInfo
(
List
<
ExpandInfo
>
expandInfoList
)
{
public
static
void
setCommonExpandInfo
(
List
<
ExpandInfo
>
expandInfoList
)
{
for
(
ExpandInfo
expandInfo
:
expandInfoList
)
{
if
(
expandInfo
.
getSettingName
().
equals
(
"Rounding"
))
{
MoneyUtil
.
rounding
=
expandInfo
.
getValueInt
();
...
...
@@ -30,10 +32,12 @@ public class RestaurantExpandInfoUtils {
if
(
expandInfo
.
getSettingName
().
equals
(
"ItemDecimals"
))
{
MoneyUtil
.
ItemDecimals
=
expandInfo
.
getValueInt
();
}
if
(
expandInfo
.
getSettingName
().
equals
(
"MergeSendFood"
))
{
GsaCloudApplication
.
androidSetting
.
setMergeSendFood
(
Boolean
.
parseBoolean
(
expandInfo
.
getValueChar
()));
}
}
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/TableBean.java
View file @
183a3d74
...
...
@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import
java.util.List
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -55,6 +57,7 @@ public class TableBean {
this
.
data
=
data
;
}
@Data
public
static
class
DataBean
{
/**
* id : 25839
...
...
@@ -77,15 +80,19 @@ public class TableBean {
* maxSeatCount : 8
*/
private
int
id
;
private
long
id
;
private
String
tableName
;
private
int
restaurantId
;
private
Long
orderId
;
private
String
qrCode
;
private
int
seatCount
;
/**最大就餐人數*/
/**
* 最大就餐人數
*/
private
Integer
maxSeatCount
;
/**最小就餐人數*/
/**
* 最小就餐人數
*/
private
Integer
minSeatCount
;
private
String
createTime
;
private
String
createBy
;
...
...
@@ -98,6 +105,7 @@ public class TableBean {
* 已開檯 1
* 已送單 2
* 已印单 3
* 已分檯 4
*/
private
int
status
;
/**
...
...
@@ -115,12 +123,17 @@ public class TableBean {
*/
private
int
sort
;
/**
0#堂食
1#外賣
2#自取
*
0#堂食
*
1#外賣
*
2#自取
*/
private
int
type
;
/**
* 分檯编号
*/
private
String
tableNumber
;
public
DataBean
()
{
}
...
...
@@ -145,158 +158,23 @@ public class TableBean {
this
.
useStatus
=
dataBean
.
useStatus
;
this
.
sort
=
dataBean
.
sort
;
this
.
type
=
dataBean
.
type
;
this
.
tableNumber
=
dataBean
.
tableNumber
;
}
public
int
getPerson
()
{
return
person
;
}
public
void
setPerson
(
int
person
)
{
this
.
person
=
person
;
}
public
int
getUseStatus
()
{
return
useStatus
;
}
public
void
setUseStatus
(
int
useStatus
)
{
this
.
useStatus
=
useStatus
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getTableName
()
{
return
tableName
;
}
public
void
setTableName
(
String
tableName
)
{
this
.
tableName
=
tableName
;
}
public
Long
getOrderId
()
{
return
orderId
;
}
public
void
setOrderId
(
Long
orderId
)
{
this
.
orderId
=
orderId
;
}
public
int
getRestaurantId
()
{
return
restaurantId
;
}
public
void
setRestaurantId
(
int
restaurantId
)
{
this
.
restaurantId
=
restaurantId
;
}
public
String
getQrCode
()
{
return
qrCode
;
}
public
void
setQrCode
(
String
qrCode
)
{
this
.
qrCode
=
qrCode
;
}
public
int
getSeatCount
()
{
return
seatCount
;
}
public
void
setSeatCount
(
int
seatCount
)
{
this
.
seatCount
=
seatCount
;
}
public
Integer
getMaxSeatCount
()
{
return
maxSeatCount
;
}
public
void
setMaxSeatCount
(
Integer
maxSeatCount
)
{
this
.
maxSeatCount
=
maxSeatCount
;
}
public
Integer
getMinSeatCount
()
{
return
minSeatCount
;
}
public
void
setMinSeatCount
(
Integer
minSeatCount
)
{
this
.
minSeatCount
=
minSeatCount
;
}
public
String
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
String
createTime
)
{
this
.
createTime
=
createTime
;
}
public
String
getCreateBy
()
{
return
createBy
;
}
public
void
setCreateBy
(
String
createBy
)
{
this
.
createBy
=
createBy
;
}
public
String
getQrCodeImg
()
{
return
qrCodeImg
;
}
public
void
setQrCodeImg
(
String
qrCodeImg
)
{
this
.
qrCodeImg
=
qrCodeImg
;
}
public
int
getPosTableId
()
{
return
posTableId
;
}
public
void
setPosTableId
(
int
posTableId
)
{
this
.
posTableId
=
posTableId
;
}
public
long
getServiceCharge
()
{
return
serviceCharge
;
}
public
void
setServiceCharge
(
long
serviceCharge
)
{
this
.
serviceCharge
=
serviceCharge
;
}
public
long
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
long
memberId
)
{
this
.
memberId
=
memberId
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
int
getSort
()
{
return
sort
;
}
public
void
setSort
(
int
sort
)
{
this
.
sort
=
sort
;
}
public
int
getType
()
{
return
type
;
}
public
void
setType
(
int
type
)
{
this
.
type
=
type
;
}
public
static
TableBean
.
DataBean
splitTableTransformTable
(
TableBean
.
DataBean
mainTable
,
TableExtBean
.
DataBean
dataBean
)
{
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
();
tableBean
.
setId
(
dataBean
.
getId
());
tableBean
.
setTableName
(
mainTable
.
getTableName
()
+
"-"
+
dataBean
.
getTableNumber
());
tableBean
.
setOrderId
(
dataBean
.
getOrderId
());
// tableBean.setRestaurantId();
// tableBean.setQrCode();
// tableBean.setQrCodeImg();
// tableBean.setSeatCount();
// tableBean.setMaxSeatCount();
tableBean
.
setStatus
(
dataBean
.
getTableStatus
());
tableBean
.
setUseStatus
(
dataBean
.
getInUse
());
return
tableBean
;
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/TableExtBean.java
0 → 100644
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
common
.
bean
;
import
java.util.List
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
@Data
public
class
TableExtBean
{
private
TableBean
.
DataBean
restaurantTable
;
private
List
<
DataBean
>
restaurantTableExtList
;
@Data
public
static
class
DataBean
{
private
long
id
;
private
long
tableId
;
private
long
orderId
;
private
int
inUse
;
private
int
tableStatus
;
private
long
updateTime
;
private
long
createTime
;
private
String
deviceName
;
private
String
tableNumber
;
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/function/FunctionStyleUtils.java
View file @
183a3d74
This diff is collapsed.
Click to expand it.
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/widget/dialog/BaseRetryDialog.java
0 → 100644
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
widget
.
dialog
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.net.ParseException
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.common.bean.TableBean
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.google.gson.JsonIOException
;
import
com.google.gson.JsonParseException
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.qmuiteam.qmui.layout.QMUILinearLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUIEmptyView
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
org.json.JSONException
;
import
java.net.SocketTimeoutException
;
import
java.net.UnknownHostException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
public
abstract
class
BaseRetryDialog
extends
Dialog
{
private
static
final
String
TAG
=
"BaseRetryDialog"
;
private
Context
mContext
;
public
BaseRetryDialog
(
@NonNull
Context
context
)
{
super
(
context
,
R
.
style
.
MyDialogTheme2
);
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
mContext
=
getContext
();
setCanceledOnTouchOutside
(
true
);
}
@Override
public
void
show
()
{
super
.
show
();
}
@Override
public
void
dismiss
()
{
super
.
dismiss
();
}
protected
void
showEmptyView
(
boolean
isSuccess
,
int
size
,
Throwable
t
,
QMUIEmptyView
emptyView
,
RecyclerView
recyclerView
)
{
if
(
t
!=
null
)
{
if
(
t
instanceof
UnknownHostException
)
{
//沒有網絡
emptyView
.
show
(
false
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_title
),
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_desc
),
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_retry
),
onRetryClickListener
);
}
else
if
(
t
instanceof
SocketTimeoutException
)
{
//請求超時
emptyView
.
show
(
false
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_title
),
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_desc
),
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_retry
),
onRetryClickListener
);
}
else
if
(
t
instanceof
JsonParseException
||
t
instanceof
ParseException
||
t
instanceof
JSONException
||
t
instanceof
JsonIOException
)
{
//數據解析錯誤
emptyView
.
show
(
false
,
mContext
.
getResources
().
getString
(
R
.
string
.
response_error_data_parsing_error
),
null
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_retry
),
onRetryClickListener
);
}
else
{
//其他error
emptyView
.
show
(
false
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_title
),
null
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_retry
),
onRetryClickListener
);
}
recyclerView
.
setVisibility
(
View
.
INVISIBLE
);
return
;
}
if
(!
isSuccess
)
{
emptyView
.
show
(
false
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_fail_title
),
null
,
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_retry
),
onRetryClickListener
);
recyclerView
.
setVisibility
(
View
.
INVISIBLE
);
return
;
}
if
(
size
==
0
)
{
emptyView
.
show
(
mContext
.
getResources
().
getString
(
R
.
string
.
emptyView_mode_desc_double
),
null
);
recyclerView
.
setVisibility
(
View
.
INVISIBLE
);
return
;
}
emptyView
.
hide
();
recyclerView
.
setVisibility
(
View
.
VISIBLE
);
return
;
}
private
View
.
OnClickListener
onRetryClickListener
=
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
//重新加載
if
(
onRetryListener
!=
null
)
{
onRetryListener
.
onRetryClick
();
}
}
};
private
OnRetryListener
onRetryListener
;
public
void
setOnRetryListener
(
OnRetryListener
onRetryListener
)
{
this
.
onRetryListener
=
onRetryListener
;
}
public
interface
OnRetryListener
{
void
onRetryClick
();
}
}
manager-module/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/fragment/AddTableFragment.java
View file @
183a3d74
...
...
@@ -471,6 +471,10 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
showMessage
(
"請輸入餐檯名稱"
);
return
false
;
}
if
(
Integer
.
parseInt
(
peopleMixNumberEditText
.
getText
().
toString
())
>
Integer
.
parseInt
(
peopleMaxNumberEditText
.
getText
().
toString
()))
{
showMessage
(
"最少人数不能大于最小人数!"
);
return
false
;
}
// if (TextUtils.isEmpty(defalutPeopleNumberEditText.getText().toString())) {
// showMessage("請輸入就餐人數");
// return false;
...
...
manager-module/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/fragment/TableListFragment.java
View file @
183a3d74
...
...
@@ -270,7 +270,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
}
else
{
if
(
isRadioEdit
)
{
item
.
setChecked
(!
item
.
isChecked
());
mAdapter
.
notifyDataSetChanged
();
mAdapter
.
notifyItemChanged
(
position
);
// mAdapter.notifyDataSetChanged();
}
else
{
if
(
item
.
getStatus
()
==
0
)
{
start
(
AddTableFragment
.
newInstance
(
item
));
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
View file @
183a3d74
...
...
@@ -35,6 +35,8 @@ public interface TableContract {
void
returnTableList
(
List
<
TableBean
.
DataBean
>
dataBeanList
);
void
returnSplitTableList
(
List
<
TableBean
.
DataBean
>
dataBeanList
);
AllTableFragment
getCurrentTableFragment
();
void
clickTableItem
(
TableBean
.
DataBean
dataBean
);
...
...
@@ -68,7 +70,7 @@ public interface TableContract {
Observable
<
TableBean
>
getTables
(
int
restaurantId
);
Observable
<
TableDetail
>
getTable
(
int
tableId
);
Observable
<
TableDetail
>
getTable
(
long
tableId
);
Observable
<
BaseRespose
>
getOrderById
(
long
orderId
);
...
...
@@ -77,5 +79,9 @@ public interface TableContract {
Observable
<
BaseRespose
>
turnTable
(
RequestBody
requestBody
);
Observable
<
BaseRespose
>
initTable
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
getSplitTables
(
long
tableId
);
Observable
<
BaseResult
>
splitTable
(
long
tableId
);
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/TableModel.java
View file @
183a3d74
...
...
@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
...
...
@@ -71,7 +72,7 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public
Observable
<
TableDetail
>
getTable
(
int
tableId
)
{
public
Observable
<
TableDetail
>
getTable
(
long
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getTable
(
tableId
);
}
...
...
@@ -100,5 +101,17 @@ public class TableModel extends BaseModel implements TableContract.Model {
.
initTable
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
getSplitTables
(
long
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getSplitTables
(
tableId
);
}
@Override
public
Observable
<
BaseResult
>
splitTable
(
long
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
splitTable
(
tableId
);
}
}
\ No newline at end of file
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SplitTableNumber.java
0 → 100644
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
@Data
public
class
SplitTableNumber
{
/**
* id : 1
* tableNumber : A
*/
private
int
id
;
private
String
tableNumber
;
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/AddOrderRequest.java
View file @
183a3d74
...
...
@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import
java.util.List
;
import
java.util.Map
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -12,65 +14,17 @@ import java.util.Map;
* 修订历史:2020-01-06
* 描述:
*/
@Data
public
class
AddOrderRequest
{
private
long
orderId
;
private
int
tableId
;
private
long
tableId
;
private
String
tableNumber
;
/**賬單小數*/
private
Double
rounding
;
/**整單折扣ID*/
private
Long
discountId
;
private
Map
<
String
,
List
<
OrderBean
.
OrderDetailsBean
>>
maps
;
public
long
getOrderId
()
{
return
orderId
;
}
public
void
setOrderId
(
long
orderId
)
{
this
.
orderId
=
orderId
;
}
public
int
getTableId
()
{
return
tableId
;
}
public
void
setTableId
(
int
tableId
)
{
this
.
tableId
=
tableId
;
}
public
Double
getRounding
()
{
return
rounding
;
}
public
void
setRounding
(
Double
rounding
)
{
this
.
rounding
=
rounding
;
}
public
Long
getDiscountId
()
{
return
discountId
;
}
public
void
setDiscountId
(
Long
discountId
)
{
this
.
discountId
=
discountId
;
}
public
Map
<
String
,
List
<
OrderBean
.
OrderDetailsBean
>>
getMaps
()
{
return
maps
;
}
public
void
setMaps
(
Map
<
String
,
List
<
OrderBean
.
OrderDetailsBean
>>
maps
)
{
this
.
maps
=
maps
;
}
@Override
public
String
toString
()
{
return
"AddOrderRequest{"
+
"orderId="
+
orderId
+
", rounding="
+
rounding
+
", discountId="
+
discountId
+
", maps="
+
maps
+
'}'
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/CreateOrderRequest.java
View file @
183a3d74
...
...
@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import
java.util.List
;
import
java.util.Map
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -12,11 +14,12 @@ import java.util.Map;
* 修订历史:2020-01-06
* 描述:
*/
@Data
public
class
CreateOrderRequest
{
private
int
person
;
private
int
tableId
;
private
long
tableId
;
private
String
tableNumber
;
private
String
tableName
;
private
int
restaurantId
;
/**賬單小數*/
...
...
@@ -25,62 +28,6 @@ public class CreateOrderRequest {
private
Long
discountId
;
private
Map
<
Long
,
List
<
OrderBean
.
OrderDetailsBean
>>
orderDetails
;
public
int
getPerson
()
{
return
person
;
}
public
void
setPerson
(
int
person
)
{
this
.
person
=
person
;
}
public
int
getTableId
()
{
return
tableId
;
}
public
void
setTableId
(
int
tableId
)
{
this
.
tableId
=
tableId
;
}
public
String
getTableName
()
{
return
tableName
;
}
public
void
setTableName
(
String
tableName
)
{
this
.
tableName
=
tableName
;
}
public
int
getRestaurantId
()
{
return
restaurantId
;
}
public
void
setRestaurantId
(
int
restaurantId
)
{
this
.
restaurantId
=
restaurantId
;
}
public
Double
getRounding
()
{
return
rounding
;
}
public
void
setRounding
(
Double
rounding
)
{
this
.
rounding
=
rounding
;
}
public
Long
getDiscountId
()
{
return
discountId
;
}
public
void
setDiscountId
(
Long
discountId
)
{
this
.
discountId
=
discountId
;
}
public
Map
<
Long
,
List
<
OrderBean
.
OrderDetailsBean
>>
getOrderDetails
()
{
return
orderDetails
;
}
public
void
setOrderDetails
(
Map
<
Long
,
List
<
OrderBean
.
OrderDetailsBean
>>
orderDetails
)
{
this
.
orderDetails
=
orderDetails
;
}
// public static class Request {
// private long productId;
...
...
@@ -152,18 +99,5 @@ public class CreateOrderRequest {
// }
// }
@Override
public
String
toString
()
{
return
"CreateOrderRequest{"
+
"person="
+
person
+
", tableId="
+
tableId
+
", tableName='"
+
tableName
+
'\''
+
", restaurantId="
+
restaurantId
+
", rounding="
+
rounding
+
", discountId="
+
discountId
+
", orderDetails="
+
orderDetails
+
'}'
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/DeleteOrderRequest.java
View file @
183a3d74
...
...
@@ -18,7 +18,7 @@ public class DeleteOrderRequest {
private
List
<
Map
<
Byte
,
DeleteOrderRequest
.
DeleteBean
>>
mapsDelete
;
private
long
orderId
;
private
int
tableId
;
private
long
tableId
;
private
byte
type
;
private
long
reasonId
;
...
...
@@ -38,11 +38,11 @@ public class DeleteOrderRequest {
this
.
orderId
=
orderId
;
}
public
int
getTableId
()
{
public
long
getTableId
()
{
return
tableId
;
}
public
void
setTableId
(
int
tableId
)
{
public
void
setTableId
(
long
tableId
)
{
this
.
tableId
=
tableId
;
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/TableService.java
View file @
183a3d74
...
...
@@ -26,7 +26,7 @@ public interface TableService {
Observable
<
TableBean
>
getTables
(
@Query
(
"restaurantId"
)
int
restaurantId
);
@GET
(
"restaurantTable/get"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
TableDetail
>
getTable
(
@Query
(
"id"
)
int
table
);
Observable
<
TableDetail
>
getTable
(
@Query
(
"id"
)
long
table
);
@POST
(
"restaurantTable/kickOff"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseRespose
>
openTable
(
@Body
RequestBody
requestBody
);
...
...
@@ -36,4 +36,10 @@ public interface TableService {
@POST
(
"restaurantTable/set/status"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseRespose
>
initTable
(
@Body
RequestBody
requestBody
);
@GET
(
"restaurantTable/getSplitTableAvailable"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
getSplitTables
(
@Query
(
"tableId"
)
long
tableId
);
@GET
(
"restaurantTable/getSplitTable"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
splitTable
(
@Query
(
"tableId"
)
long
tableId
);
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
183a3d74
...
...
@@ -324,7 +324,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/**
* 添加會員項
*/
private
void
addOrderMember
(){
private
void
addOrderMember
()
{
}
...
...
@@ -729,9 +729,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
protected
CreateOrderRequest
getCreateOrderRequest
(
List
<
OrderDetail
>
foodList
)
{
List
<
OrderDetail
>
newFoodList
=
new
ArrayList
<>();
newFoodList
.
addAll
(
foodList
);
if
(
GsaCloudApplication
.
androidSetting
.
isMergeSendFood
())
{
//合并未送单主食品
mergeMainFoodNumber
(
newFoodList
);
}
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
(
mApplication
);
CreateOrderRequest
request
=
new
CreateOrderRequest
();
request
.
setOrderDetails
(
orderDetailBeanToFoodRequest
(
f
oodList
));
request
.
setOrderDetails
(
orderDetailBeanToFoodRequest
(
newF
oodList
));
request
.
setPerson
(
OpenTableManage
.
getDefault
().
getPeopleNumber
());
request
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
());
request
.
setTableName
(
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
());
...
...
@@ -745,8 +752,15 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
protected
AddOrderRequest
getAddOrderRequest
(
List
<
OrderDetail
>
foodList
)
{
List
<
OrderDetail
>
newFoodList
=
new
ArrayList
<>();
newFoodList
.
addAll
(
foodList
);
if
(
GsaCloudApplication
.
androidSetting
.
isMergeSendFood
())
{
//合并未送单主食品
mergeMainFoodNumber
(
newFoodList
);
}
AddOrderRequest
request
=
new
AddOrderRequest
();
request
.
setMaps
(
orderDetailBeanToAddFoodRequest
(
f
oodList
));
request
.
setMaps
(
orderDetailBeanToAddFoodRequest
(
newF
oodList
));
request
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
request
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
());
Double
rounding
=
getRounding
();
...
...
@@ -758,6 +772,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return
request
;
}
protected
Map
<
Long
,
List
<
OrderBean
.
OrderDetailsBean
>>
orderDetailBeanToFoodRequest
(
List
<
OrderDetail
>
foodList
)
{
Map
<
Long
,
List
<
OrderBean
.
OrderDetailsBean
>>
orderDetails
=
new
HashMap
<>();
if
(
foodList
!=
null
)
{
...
...
@@ -906,6 +921,54 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 合并新下单主食品数量
*
* @param foodList
*/
private
void
mergeMainFoodNumber
(
List
<
OrderDetail
>
foodList
)
{
for
(
int
i
=
0
;
i
<
foodList
.
size
();
i
++)
{
OrderDetail
orderFood
=
foodList
.
get
(
i
);
if
(!
orderFood
.
isNew
()
||
orderFood
.
getItemType
()
!=
1
)
continue
;
if
(
hasChildFood
(
foodList
,
orderFood
))
continue
;
//合并总数量
int
mergeNum
=
orderFood
.
getNumber
();
for
(
int
j
=
i
;
j
<
foodList
.
size
();
j
++)
{
if
(!
orderFood
.
isNew
()
||
i
==
j
)
continue
;
OrderDetail
mergeFood
=
foodList
.
get
(
j
);
boolean
canMerge
=
mergeFood
.
getItemType
()
==
1
&&
mergeFood
.
getProductId
()
==
orderFood
.
getProductId
()
&&
!
hasChildFood
(
foodList
,
mergeFood
);
if
(
canMerge
)
{
//合并数量
mergeNum
+=
mergeFood
.
getNumber
();
//移除已合并的食品
foodList
.
remove
(
j
);
}
}
orderFood
.
setNumber
(
mergeNum
);
}
}
/**
* 是否包含子项
*
* @param orderDetailList
* @param orderDetail
* @return
*/
private
boolean
hasChildFood
(
List
<
OrderDetail
>
orderDetailList
,
OrderDetail
orderDetail
)
{
if
(
orderDetail
.
getItemType
()
==
3
)
return
false
;
for
(
int
i
=
0
;
i
<
orderDetailList
.
size
();
i
++)
{
if
(
orderDetailList
.
get
(
i
).
getParentIndex
()
==
orderDetail
.
getMyIndex
())
{
return
true
;
}
}
return
false
;
}
/**
* 根據主食品ID獲取對應折扣ID
*
* @param orderItems
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
183a3d74
...
...
@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// });
}
public
void
printOrder
(
int
tableId
,
boolean
isSend
)
{
public
void
printOrder
(
long
tableId
,
boolean
isSend
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"tableId"
,
tableId
+
""
)
.
build
();
...
...
@@ -530,7 +530,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
});
}
public
void
getTable
(
int
tableId
,
TextView
tv_table_name
)
{
public
void
getTable
(
long
tableId
,
TextView
tv_table_name
)
{
mModel
.
getTable
(
tableId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
183a3d74
This diff is collapsed.
Click to expand it.
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
183a3d74
...
...
@@ -345,7 +345,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
private
void
initOrderDetail
()
{
TableBean
.
DataBean
dataBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
if
(
dataBean
!=
null
)
{
if
(
TextUtils
.
isEmpty
(
dataBean
.
getTableNumber
()))
{
btn_table
.
setText
(
dataBean
.
getTableName
());
}
else
{
btn_table
.
setText
(
dataBean
.
getTableName
());
}
btn_numberman
.
setText
(
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
()
+
""
);
}
}
...
...
@@ -676,6 +680,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
return
;
mPresenter
.
deleteFoodItem
(
1
);
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_send_order
)
{
mPresenter
.
sendOrder
(
false
);
}
else
if
(
id
==
R
.
id
.
fl_order_content
)
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
183a3d74
...
...
@@ -9,6 +9,7 @@ import android.widget.ImageView;
import
android.widget.LinearLayout
;
import
android.widget.SimpleAdapter
;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage
;
...
...
@@ -22,6 +23,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.SplitTableDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
...
...
@@ -118,6 +121,10 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
private
String
[]
mTabTitles
=
{
"編號"
,
"全部"
,
"狀態:全部"
};
/**
* 分檯弹窗
*/
private
SplitTableDialog
mSplitTableDialog
;
/**
* 切換餐檯狀態下拉框
*/
private
QMUIPopup
mTableStatusPopup
;
...
...
@@ -265,6 +272,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
}
@Override
public
void
returnSplitTableList
(
List
<
TableBean
.
DataBean
>
dataBeanList
)
{
}
@Override
public
AllTableFragment
getCurrentTableFragment
()
{
switch
(
mCurrentPageIndex
)
{
case
FUNCTION_STATE_TABLE:
...
...
@@ -280,7 +292,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
return
;
switch
(
mPresenter
.
getCurrentChooseOperatType
())
{
case
TableOperatTypeConstant
.
splite_table_1
:
setOperatContentText
(
dataBean
.
getTableName
());
mPresenter
.
splitTable
(
dataBean
.
getId
());
break
;
case
TableOperatTypeConstant
.
print_parper_2
:
setOperatContentText
(
dataBean
.
getTableName
());
...
...
@@ -291,7 +304,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
mPresenter
.
showOperatTipDialog
(
dataBean
);
break
;
case
TableOperatTypeConstant
.
move_table_4
:
if
(
mPresenter
.
getOriginalTableId
()
==
dataBean
.
getId
())
{
if
(
mPresenter
.
getOriginalTableId
()
==
dataBean
.
getId
())
{
CommonTipDialog
.
showCancelDialog
(
this
,
"相同檯不能转檯"
,
OrderContentPresenter
.
class
,
mPresenter
,
""
,
null
,
null
);
return
;
}
...
...
@@ -302,7 +315,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
break
;
default
:
mPresenter
.
openTable
(
dataBean
.
getId
());
if
(
dataBean
.
getStatus
()
==
4
)
{
showSplitTableDialog
(
dataBean
.
getId
());
}
else
{
mPresenter
.
openTable
(
dataBean
.
getId
(),
""
);
}
break
;
}
}
...
...
@@ -378,10 +395,29 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
killMyself
();
}
});
mPresenter
.
initTableParameter
();
mPresenter
.
filterTableByOperatType
();
}
private
void
showSplitTableDialog
(
long
tableId
)
{
if
(
mSplitTableDialog
==
null
)
{
mSplitTableDialog
=
new
SplitTableDialog
(
this
);
mSplitTableDialog
.
setOnClickListener
(
new
SplitTableDialog
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
SplitTableDialog
dialog
,
TableBean
.
DataBean
item
,
int
position
)
{
dialog
.
dismiss
();
mPresenter
.
openTable
(
item
.
getId
(),
item
.
getTableNumber
());
}
});
mSplitTableDialog
.
setOnRetryListener
(
new
BaseRetryDialog
.
OnRetryListener
()
{
@Override
public
void
onRetryClick
()
{
mPresenter
.
getSplitTables
(
tableId
);
}
});
}
mSplitTableDialog
.
show
();
mPresenter
.
getSplitTables
(
tableId
);
}
@Override
...
...
@@ -629,4 +665,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
public
void
setCurrentSelectTableStatus
(
int
mCurrentSelectTableStatus
)
{
this
.
mCurrentSelectTableStatus
=
mCurrentSelectTableStatus
;
}
public
SplitTableDialog
getSplitTableDialog
()
{
return
mSplitTableDialog
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
183a3d74
...
...
@@ -647,7 +647,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return
false
;
}
p
rivate
boolean
hasChildFood
(
OrderDetail
orderDetail
)
{
p
ublic
boolean
hasChildFood
(
OrderDetail
orderDetail
)
{
if
(
orderDetail
.
getItemType
()
==
3
)
return
false
;
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/SplitTableDialog.java
0 → 100644
View file @
183a3d74
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
widget
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.ProgressBar
;
import
com.gingersoft.gsa.cloud.base.common.bean.TableBean
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.TableAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.qmuiteam.qmui.layout.QMUILinearLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUIEmptyView
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
public
class
SplitTableDialog
extends
BaseRetryDialog
{
private
static
final
String
TAG
=
"SplitTableDialog"
;
private
Context
mContext
;
private
SplitTableDialog
mDialog
;
private
int
spanCount
=
3
;
private
int
mRadius
;
private
float
mShadowAlpha
=
0.25f
;
private
int
mShadowElevationDp
=
14
;
private
int
mBagcolor
;
private
List
<
TableBean
.
DataBean
>
mItems
;
private
TableAdapter
mAdapter
;
private
QMUITopBar
mTopBar
;
private
QMUILinearLayout
ll_container
;
private
QMUIEmptyView
mEmptyView
;
private
ProgressBar
progress
;
private
RecyclerView
recycler_table
;
private
ImageView
btn_close
;
public
SplitTableDialog
(
@NonNull
Context
context
)
{
super
(
context
);
mContext
=
context
;
mItems
=
new
ArrayList
<>();
mRadius
=
QMUIDisplayHelper
.
dp2px
(
mContext
,
8
);
}
public
void
addItem
(
TableBean
.
DataBean
item
)
{
mItems
.
add
(
item
);
}
public
void
addItems
(
List
<
TableBean
.
DataBean
>
items
)
{
if
(
mItems
.
size
()
>
0
)
mItems
.
clear
();
mItems
.
addAll
(
items
);
}
public
void
notifyDataSetChanged
(){
mAdapter
.
notifyDataSetChanged
();
}
public
SplitTableDialog
build
()
{
if
(
mDialog
!=
null
)
{
return
mDialog
;
}
mDialog
=
new
SplitTableDialog
(
mContext
);
View
contentView
=
buildViews
();
int
screenHeight
=
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.7
);
mDialog
.
setContentView
(
contentView
,
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
screenHeight
));
return
mDialog
;
}
private
View
buildViews
()
{
View
view
=
View
.
inflate
(
mContext
,
getContentViewLayoutId
(),
null
);
mTopBar
=
view
.
findViewById
(
R
.
id
.
topbar
);
recycler_table
=
view
.
findViewById
(
R
.
id
.
recycler_table
);
ll_container
=
view
.
findViewById
(
R
.
id
.
ll_container
);
mEmptyView
=
view
.
findViewById
(
R
.
id
.
emptyView
);
progress
=
view
.
findViewById
(
R
.
id
.
progress
);
// btn_close = view.findViewById(R.id.btn_close);
// btn_close.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// closeDialog() ;
// }
// });
ll_container
.
setRadiusAndShadow
(
mRadius
,
QMUIDisplayHelper
.
dp2px
(
mContext
,
mShadowElevationDp
),
mShadowAlpha
);
initTopbar
();
initTableRecycleView
();
return
view
;
}
private
void
initTopbar
()
{
if
(
mBagcolor
!=
0
)
{
mTopBar
.
setBackgroundColor
(
mBagcolor
);
}
else
{
mTopBar
.
setBackgroundColor
(
ContextCompat
.
getColor
(
mContext
,
R
.
color
.
theme_color
));
}
mTopBar
.
setTitle
(
"分檯"
);
}
private
void
initTableRecycleView
()
{
if
(
mAdapter
==
null
)
{
mAdapter
=
new
TableAdapter
(
mContext
,
mItems
,
DeviceUtils
.
getScreenHeight
(
mContext
),
TableActivity
.
FUNCTION_ALL_TABLE
);
}
mAdapter
.
setOnItemClickListener
(
new
DefaultAdapter
.
OnRecyclerViewItemClickListener
()
{
@Override
public
void
onItemClick
(
View
view
,
int
viewType
,
Object
data
,
int
position
)
{
if
(
onClickListener
!=
null
)
{
onClickListener
.
onItemClick
(
SplitTableDialog
.
this
,(
TableBean
.
DataBean
)
data
,
position
);
}
// closeDialog();
}
});
recycler_table
.
setLayoutManager
(
createLayoutManager
());
recycler_table
.
setAdapter
(
mAdapter
);
}
private
RecyclerView
.
LayoutManager
createLayoutManager
()
{
return
new
GridLayoutManager
(
mContext
,
spanCount
,
LinearLayoutManager
.
VERTICAL
,
false
)
{
@Override
public
RecyclerView
.
LayoutParams
generateDefaultLayoutParams
()
{
return
new
RecyclerView
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
);
}
};
}
public
void
showEmptyView
(
boolean
isSuccess
,
int
size
,
Throwable
t
)
{
showEmptyView
(
isSuccess
,
size
,
t
,
mEmptyView
,
recycler_table
);
}
public
void
setProgressVisibility
(
boolean
show
)
{
progress
.
setVisibility
(
show
?
View
.
VISIBLE
:
View
.
INVISIBLE
);
}
public
void
closeDialog
()
{
mDialog
.
dismiss
();
}
public
void
setTopBarBagcolor
(
int
mBagcolor
)
{
this
.
mBagcolor
=
mBagcolor
;
}
protected
int
getContentViewLayoutId
()
{
return
R
.
layout
.
table_dialog_split
;
}
private
SplitTableDialog
.
OnClickListener
onClickListener
;
public
void
setOnClickListener
(
SplitTableDialog
.
OnClickListener
onClickListener
)
{
this
.
onClickListener
=
onClickListener
;
}
public
interface
OnClickListener
{
void
onItemClick
(
SplitTableDialog
dialog
,
TableBean
.
DataBean
item
,
int
position
);
}
}
table-module/src/main/res/layout/table_dialog_split.xml
0 → 100644
View file @
183a3d74
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.layout.QMUILinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/ll_container"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/theme_white_color"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/qmui_topbar_height"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id=
"@+id/emptyView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:fitsSystemWindows=
"true"
/>
<ProgressBar
android:id=
"@+id/progress"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:visibility=
"invisible"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycler_table"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:spanCount=
"3"
/>
</FrameLayout>
<!-- <ImageView-->
<!-- android:id="@+id/btn_close"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="@dimen/dp_20"-->
<!-- android:src="@drawable/icon_dialog_close" />-->
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
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