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
1e1dee0d
Commit
1e1dee0d
authored
May 09, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、新增沽清管理
2、新增賬單小數
parent
28b1c416
Hide whitespace changes
Inline
Side-by-side
Showing
89 changed files
with
2398 additions
and
1139 deletions
+2398
-1139
arms/src/main/java/com/jess/arms/base/BaseFragment.java
+7
-2
download-data/src/main/AndroidManifest.xml
+6
-0
download-data/src/main/debug/AndroidManifest.xml
+2
-2
main/src/main/AndroidManifest.xml
+7
-0
main/src/main/debug/AndroidManifest.xml
+2
-2
main/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
+29
-0
main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
+10
-2
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
+2
-2
public-base/build.gradle
+2
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
+118
-10
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/BillOrderMoney.java
+1
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/CurrentAndroidSetting.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderDetail.java
+12
-11
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/CommonConfiguration.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/MoneyUtil.java
+79
-182
public-base/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
+4
-4
public-base/src/main/java/com/gingersoft/gsa/cloud/constans/MealConstant.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/database/DaoManager.java
+2
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/ExpandInfo.java
+107
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Food.java
+19
-8
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Function.java
+12
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Modifier.java
+23
-24
public-base/src/main/java/com/gingersoft/gsa/cloud/database/greendao/DaoMaster.java
+5
-2
public-base/src/main/java/com/gingersoft/gsa/cloud/database/greendao/DaoSession.java
+14
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/database/utils/ModifierDaoUtils.java
+1
-2
public-base/src/main/java/com/gingersoft/gsa/cloud/function/FunctionManager.java
+13
-3
public-base/src/main/java/com/gingersoft/gsa/cloud/function/FunctionModule.java
+0
-67
public-base/src/main/java/com/gingersoft/gsa/cloud/print/PrinterUtils.java
+17
-1
public-base/src/main/res/drawable-xhdpi/table_init.png
+0
-0
public-base/src/main/res/drawable-xhdpi/table_move.png
+0
-0
public-base/src/main/res/drawable-xhdpi/table_paper.png
+0
-0
public-base/src/main/res/drawable-xhdpi/table_skyorder.png
+0
-0
public-base/src/main/res/drawable-xhdpi/table_splite.png
+0
-0
qm-lintrule/src/main/java/com/qmuiteam/qmui/lint/QMUIJavaVectorDrawableDetector.java
+5
-14
table-mode/src/main/AndroidManifest.xml
+7
-0
table-mode/src/main/debug/AndroidManifest.xml
+2
-2
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/ComponentTable.java
+24
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
+2
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
+14
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+6
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
+24
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SoldoutCtrFood.java
+144
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/SoldoutRequest.java
+103
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MealService.java
+12
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/AllTablePresenter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+66
-48
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
+66
-81
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemKindPresenter.java
+5
-5
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+218
-89
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+28
-15
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
+420
-42
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/StateTablePresenter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+89
-43
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+29
-57
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+2
-2
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
+78
-43
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+5
-7
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/BillMoneyAdapter.java
+6
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/CurrentSlodoutFoodAdapter.java
+164
-159
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
+46
-37
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
+39
-42
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderMoneyAdapter.java
+6
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderTopFunctionAdapter.java
+42
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/ComboAdapter.java
+17
-10
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
+40
-14
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
+34
-32
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/ModifierAdapter.java
+18
-11
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
+9
-3
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllTableFragment.java
+9
-6
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemAllFragment.java
+15
-6
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemKindFragment.java
+7
-7
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/InputTableFragment.java
+4
-5
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/StateTableFragment.java
+8
-6
table-mode/src/main/res/drawable/meal_btn_parent_text.xml
+0
-0
table-mode/src/main/res/drawable/meal_food_group_point_focuese.xml
+0
-0
table-mode/src/main/res/drawable/meal_food_group_point_unfocused.xml
+0
-0
table-mode/src/main/res/drawable/meal_selector_food_backgroup.xml
+0
-0
table-mode/src/main/res/drawable/meal_selector_number_keys.xml
+0
-0
table-mode/src/main/res/drawable/meal_selector_soldout.xml
+0
-0
table-mode/src/main/res/layout/meal_activity_soldout_ctrl.xml
+4
-3
table-mode/src/main/res/layout/meal_item_combo.xml
+0
-0
table-mode/src/main/res/layout/meal_item_current_soldout_food.xml
+46
-0
table-mode/src/main/res/layout/meal_item_food.xml
+0
-0
table-mode/src/main/res/layout/meal_item_food_group.xml
+0
-0
table-mode/src/main/res/layout/meal_order_top_function.xml
+29
-11
user-login/src/main/AndroidManifest.xml
+2
-2
user-login/src/main/debug/AndroidManifest.xml
+3
-2
No files found.
arms/src/main/java/com/jess/arms/base/BaseFragment.java
View file @
1e1dee0d
...
...
@@ -60,7 +60,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
@Override
public
synchronized
Cache
<
String
,
Object
>
provideCache
()
{
if
(
mCache
==
null
)
{
mCache
=
ArmsUtils
.
obtainAppComponentFromContext
(
getActivity
()
).
cacheFactory
().
build
(
CacheType
.
FRAGMENT_CACHE
);
mCache
=
ArmsUtils
.
obtainAppComponentFromContext
(
mContext
).
cacheFactory
().
build
(
CacheType
.
FRAGMENT_CACHE
);
}
return
mCache
;
}
...
...
@@ -74,10 +74,15 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
private
View
view
;
@Override
public
void
onAttach
(
@NonNull
Context
context
)
{
super
.
onAttach
(
context
);
mContext
=
getActivity
();
}
@Nullable
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
mContext
=
getActivity
();
if
(
view
!=
null
)
{
ViewGroup
viewGroup
=
(
ViewGroup
)
view
.
getRootView
();
if
(
viewGroup
!=
null
)
{
...
...
download-data/src/main/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -10,5 +10,11 @@
<meta-data
android:name=
"com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"640"
/>
</application>
</manifest>
download-data/src/main/debug/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -28,10 +28,10 @@
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"
540"
/>
android:value=
"
640"
/>
</application>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH"
/>
...
...
main/src/main/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -14,5 +14,12 @@
<meta-data
android:name=
"com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"640"
/>
</application>
</manifest>
main/src/main/debug/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -31,10 +31,10 @@
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"
540"
/>
android:value=
"
640"
/>
</application>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
...
...
main/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
View file @
1e1dee0d
...
...
@@ -6,11 +6,40 @@ import com.billy.cc.core.component.CC;
import
com.billy.cc.core.component.CCResult
;
import
com.billy.cc.core.component.CCUtil
;
import
com.billy.cc.core.component.IComponent
;
import
com.gingersoft.gsa.cloud.function.FModule
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity
;
public
class
ComponentMain
implements
IComponent
{
public
static
final
class
Function
{
/**首頁- 點餐*/
public
static
final
FModule
[]
order
=
{
new
FModule
(
"main/order"
,
0
,
0
)
,
new
FModule
(
"main/order/table"
,
R
.
drawable
.
ic_dining_table_mode
,
R
.
drawable
.
ic_dining_table_mode_close
)
,
new
FModule
(
"main/order/delivery"
,
R
.
drawable
.
ic_delivery_mode
,
R
.
drawable
.
ic_delivery_mode_close
)
,
new
FModule
(
"main/order/takeaway"
,
R
.
drawable
.
ic_outsourcing_model
,
R
.
drawable
.
ic_outsourcing_model_close
),
new
FModule
(
"main/order/preorder"
,
R
.
drawable
.
ic_pre_order_mode
,
R
.
drawable
.
ic_pre_order_mode_close
),
};
/**首頁- 管理*/
public
static
final
FModule
[]
manager
=
{
new
FModule
(
"main/manager"
,
0
,
0
)
,
new
FModule
(
"main/manager/bill"
,
R
.
drawable
.
ic_meals_menu_management
,
R
.
drawable
.
ic_meals_menu_management_close
)
,
new
FModule
(
"main/manager/table"
,
R
.
drawable
.
ic_dining_table_management
,
R
.
drawable
.
ic_dining_table_management_close
)
,
new
FModule
(
"main/manager/printer"
,
R
.
drawable
.
ic_print_management
,
R
.
drawable
.
ic_print_management_close
),
new
FModule
(
"main/manager/pay"
,
R
.
drawable
.
ic_pay_management
,
R
.
drawable
.
ic_pay_management_close
),
new
FModule
(
"main/manager/discout"
,
R
.
drawable
.
ic_discount_management
,
R
.
drawable
.
ic_discount_management_close
),
new
FModule
(
"main/manager/soldoutCtr"
,
R
.
drawable
.
ic_discount_management
,
R
.
drawable
.
ic_discount_management_close
)
};
/**首頁- 員工管理*/
public
static
final
FModule
[]
employee
=
{
new
FModule
(
"main/employee"
,
0
,
0
)
,
new
FModule
(
"main/employee/management"
,
R
.
drawable
.
ic_staff_management
,
R
.
drawable
.
ic_staff_management_close
)
,
new
FModule
(
"main/employee/delivery"
,
R
.
drawable
.
ic_authority_management
,
R
.
drawable
.
ic_authority_management_close
)
,
new
FModule
(
"main/employee/operationRecord"
,
R
.
drawable
.
ic_operation_record
,
R
.
drawable
.
ic_operation_record_close
)
};
}
@Override
public
String
getName
()
{
...
...
main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
View file @
1e1dee0d
...
...
@@ -24,7 +24,10 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.gingersoft.gsa.cloud.database.utils.FunctionDaoUtils
;
import
com.gingersoft.gsa.cloud.function.FunctionManager
;
import
com.gingersoft.gsa.cloud.main.BuildConfig
;
import
com.gingersoft.gsa.cloud.main.ComponentMain
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent
;
...
...
@@ -201,12 +204,15 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
// return;
// }
List
<
Function
>
functions
=
new
ArrayList
<>();
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.order,"order"));
functions
.
add
(
new
Function
((
long
)
150
,
0
,
5
,
"點餐"
,
0
,
0
));
functions
.
add
(
new
Function
((
long
)
138
,
150
,
5
,
"餐臺模式"
,
R
.
drawable
.
ic_dining_table_mode
,
0
));
functions
.
add
(
new
Function
((
long
)
139
,
150
,
5
,
"外送模式"
,
R
.
drawable
.
ic_delivery_mode_close
,
1
));
functions
.
add
(
new
Function
((
long
)
140
,
150
,
5
,
"外賣模式"
,
R
.
drawable
.
ic_outsourcing_model_close
,
1
));
functions
.
add
(
new
Function
((
long
)
139
,
150
,
5
,
"外送模式"
,
R
.
drawable
.
ic_delivery_mode_close
,
0
));
functions
.
add
(
new
Function
((
long
)
140
,
150
,
5
,
"外賣模式"
,
R
.
drawable
.
ic_outsourcing_model_close
,
0
));
functions
.
add
(
new
Function
((
long
)
141
,
150
,
5
,
"預點餐模式"
,
R
.
drawable
.
ic_pre_order_mode_close
,
1
));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.manager,"manager"));
functions
.
add
(
new
Function
((
long
)
151
,
0
,
5
,
"管理"
,
0
,
0
));
// functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management));
functions
.
add
(
new
Function
((
long
)
142
,
151
,
5
,
"賬單管理"
,
R
.
drawable
.
ic_meals_menu_management
,
0
));
...
...
@@ -217,10 +223,12 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions
.
add
(
new
Function
((
long
)
146
,
151
,
5
,
"折扣管理"
,
R
.
drawable
.
ic_discount_management_close
,
1
));
functions
.
add
(
new
Function
((
long
)
147
,
151
,
5
,
"沽清管理"
,
R
.
drawable
.
ic_meals_menu_management
,
0
));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.employee,"employee"));
functions
.
add
(
new
Function
((
long
)
152
,
0
,
5
,
"員工"
,
0
,
0
));
functions
.
add
(
new
Function
((
long
)
147
,
152
,
5
,
"員工管理"
,
R
.
drawable
.
ic_staff_management_close
,
1
));
functions
.
add
(
new
Function
((
long
)
148
,
152
,
5
,
"權限管理"
,
R
.
drawable
.
ic_authority_management_close
,
1
));
functions
.
add
(
new
Function
((
long
)
149
,
152
,
5
,
"操作記錄"
,
R
.
drawable
.
ic_operation_record_close
,
1
));
//將功能列表數據分組
SparseArray
<
String
>
parents
=
new
SparseArray
<>();
SparseArray
<
List
<
Function
>>
funMap
=
new
SparseArray
<>();
...
...
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
View file @
1e1dee0d
...
...
@@ -109,8 +109,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
PrinterDeviceBean
deviceBean
=
(
PrinterDeviceBean
)
getIntent
().
getSerializableExtra
(
"deviceBean"
);
// if (type != PrinterRoot.PRINT_TEST) {
//不是测试才去获取打印机列表,获取到打印机列表之后就进行打印
mPresenter
.
getPrinterList
(
GsaCloudApplication
.
getRestaurantId
(
mContext
));
//不是测试才去获取打印机列表,获取到打印机列表之后就进行打印
mPresenter
.
getPrinterList
(
GsaCloudApplication
.
getRestaurantId
(
mContext
));
// }
printerInIt
=
PrinterRoot
.
getPrinterByType
(
type
);
...
...
public-base/build.gradle
View file @
1e1dee0d
...
...
@@ -43,7 +43,7 @@ android {
/**
* 版本号
*/
schemaVersion
4
schemaVersion
5
/**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/
...
...
@@ -73,6 +73,7 @@ dependencies {
implementation
rootProject
.
ext
.
dependencies
[
"fastjson"
]
implementation
rootProject
.
ext
.
dependencies
[
"zxing"
]
implementation
rootProject
.
ext
.
dependencies
[
"progressmanager"
]
implementation
rootProject
.
ext
.
dependencies
[
"autosize"
]
// test
testImplementation
'junit:junit:4.12'
androidTestImplementation
'androidx.test:runner:1.2.0'
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
View file @
1e1dee0d
...
...
@@ -25,6 +25,7 @@ import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import
com.gingersoft.gsa.cloud.constans.UserConstans
;
import
com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler
;
import
com.gingersoft.gsa.cloud.base.utils.file.FileUtils
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.xlog.MyBackupStrategy
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
...
...
@@ -40,6 +41,11 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout;
import
com.scwang.smartrefresh.layout.footer.ClassicsFooter
;
import
com.scwang.smartrefresh.layout.header.ClassicsHeader
;
import
java.util.Locale
;
import
me.jessyan.autosize.AutoSize
;
import
me.jessyan.autosize.AutoSizeConfig
;
import
me.jessyan.autosize.onAdaptListener
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
/**
...
...
@@ -97,12 +103,16 @@ public class GsaCloudApplication extends BaseApplication {
CC
.
enableRemoteCC
(
true
);
//初始化上下拉刷新
initRefresh
();
//初始化
日誌管理庫
init
XLog
();
//初始化
今日頭條適配方案
init
AutoSize
();
//初始化數據庫框架
initGreenDao
();
//初始化打印相關
initPrint
();
//初始化日誌管理庫
initXLog
();
initDomainUrl
();
//初始化crash記錄
AppCrashHandler
.
getInstance
().
init
(
this
);
...
...
@@ -117,6 +127,7 @@ public class GsaCloudApplication extends BaseApplication {
this
.
mCurrentActivity
=
mCurrentActivity
;
}
private
void
initRefresh
()
{
ClassicsHeader
.
REFRESH_HEADER_PULLING
=
getString
(
R
.
string
.
srl_header_pulling
);
//"下拉可以刷新";
ClassicsHeader
.
REFRESH_HEADER_REFRESHING
=
getString
(
R
.
string
.
srl_header_refreshing
);
//"正在刷新...";
...
...
@@ -137,6 +148,19 @@ public class GsaCloudApplication extends BaseApplication {
ClassicsFooter
.
REFRESH_FOOTER_NOTHING
=
getString
(
R
.
string
.
srl_footer_nothing
);
//"全部加载完成";
}
private
void
initDomainUrl
()
{
//需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名
setGlobalDomain
();
//清機報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"settlement_report_server"
,
HttpsConstans
.
ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL
);
//gsa報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"gsa_report"
,
HttpsConstans
.
REPORT_SERVER_ADDRESS
);
//微信報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"wechat_report"
,
HttpsConstans
.
WECHAR_REPORT_SERVER_ADDRESS
);
//沽清控制請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"soldoutctrl"
,
HttpsConstans
.
_SERVER_ADDRESS
);
}
private
void
initPrint
()
{
if
(
GsaCloudApplication
.
mV2
.
contains
(
Build
.
MODEL
))
{
//商米打印
...
...
@@ -152,14 +176,6 @@ public class GsaCloudApplication extends BaseApplication {
//如果當前機型不是上面兩種,那麼設置默認打印為ip打印
SPUtils
.
put
(
this
,
Constans
.
DEFAULT_PRINT_METHOD
,
Constans
.
IP_PRINT
);
}
//需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名
setGlobalDomain
();
//清機報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"settlement_report_server"
,
HttpsConstans
.
ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL
);
//gsa報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"gsa_report"
,
HttpsConstans
.
REPORT_SERVER_ADDRESS
);
//微信報表請求地址
RetrofitUrlManager
.
getInstance
().
putDomain
(
"wechat_report"
,
HttpsConstans
.
WECHAR_REPORT_SERVER_ADDRESS
);
}
public
static
void
setGlobalDomain
()
{
...
...
@@ -192,6 +208,98 @@ public class GsaCloudApplication extends BaseApplication {
filePrinter
);
}
private
void
initAutoSize
(){
//当 App 中出现多进程, 并且您需要适配所有的进程, 就需要在 App 初始化时调用 initCompatMultiProcess()
//在 Demo 中跳转的三方库中的 DefaultErrorActivity 就是在另外一个进程中, 所以要想适配这个 Activity 就需要调用 initCompatMultiProcess()
AutoSize
.
initCompatMultiProcess
(
this
);
//如果在某些特殊情况下出现 InitProvider 未能正常实例化, 导致 AndroidAutoSize 未能完成初始化
//可以主动调用 AutoSize.checkAndInit(this) 方法, 完成 AndroidAutoSize 的初始化后即可正常使用
// AutoSize.checkAndInit(this);
// 如何控制 AndroidAutoSize 的初始化,让 AndroidAutoSize 在某些设备上不自动启动?https://github.com/JessYanCoding/AndroidAutoSize/issues/249
/**
* 以下是 AndroidAutoSize 可以自定义的参数, {@link AutoSizeConfig} 的每个方法的注释都写的很详细
* 使用前请一定记得跳进源码,查看方法的注释, 下面的注释只是简单描述!!!
*/
AutoSizeConfig
.
getInstance
()
//是否让框架支持自定义 Fragment 的适配参数, 由于这个需求是比较少见的, 所以须要使用者手动开启
//如果没有这个需求建议不开启
.
setCustomFragment
(
true
)
//是否屏蔽系统字体大小对 AndroidAutoSize 的影响, 如果为 true, App 内的字体的大小将不会跟随系统设置中字体大小的改变
//如果为 false, 则会跟随系统设置中字体大小的改变, 默认为 false
// .setExcludeFontScale(true)
//区别于系统字体大小的放大比例, AndroidAutoSize 允许 APP 内部可以独立于系统字体大小之外,独自拥有全局调节 APP 字体大小的能力
//当然, 在 APP 内您必须使用 sp 来作为字体的单位, 否则此功能无效, 不设置或将此值设为 0 则取消此功能
// .setPrivateFontScale(0.8f)
//屏幕适配监听器
.
setOnAdaptListener
(
new
onAdaptListener
()
{
@Override
public
void
onAdaptBefore
(
Object
target
,
Activity
activity
)
{
//使用以下代码, 可以解决横竖屏切换时的屏幕适配问题
//使用以下代码, 可支持 Android 的分屏或缩放模式, 但前提是在分屏或缩放模式下当用户改变您 App 的窗口大小时
//系统会重绘当前的页面, 经测试在某些机型, 某些情况下系统不会重绘当前页面, ScreenUtils.getScreenSize(activity) 的参数一定要不要传 Application!!!
// AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
// AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1]);
LogUtil
.
d
(
String
.
format
(
Locale
.
ENGLISH
,
"%s onAdaptBefore!"
,
target
.
getClass
().
getName
()));
}
@Override
public
void
onAdaptAfter
(
Object
target
,
Activity
activity
)
{
LogUtil
.
d
(
String
.
format
(
Locale
.
ENGLISH
,
"%s onAdaptAfter!"
,
target
.
getClass
().
getName
()));
}
});
//是否打印 AutoSize 的内部日志, 默认为 true, 如果您不想 AutoSize 打印日志, 则请设置为 false
// .setLog(false)
//是否使用设备的实际尺寸做适配, 默认为 false, 如果设置为 false, 在以屏幕高度为基准进行适配时
//AutoSize 会将屏幕总高度减去状态栏高度来做适配
//设置为 true 则使用设备的实际屏幕高度, 不会减去状态栏高度
//在全面屏或刘海屏幕设备中, 获取到的屏幕高度可能不包含状态栏高度, 所以在全面屏设备中不需要减去状态栏高度,所以可以 setUseDeviceSize(true)
// .setUseDeviceSize(true)
//是否全局按照宽度进行等比例适配, 默认为 true, 如果设置为 false, AutoSize 会全局按照高度进行适配
// .setBaseOnWidth(false)
//设置屏幕适配逻辑策略类, 一般不用设置, 使用框架默认的就好
// .setAutoAdaptStrategy(new AutoAdaptStrategy())
customAdaptForExternal
();
}
/**
* 给外部的三方库 {@link Activity} 自定义适配参数, 因为三方库的 {@link Activity} 并不能通过实现
* {@link CustomAdapt} 接口的方式来提供自定义适配参数 (因为远程依赖改不了源码)
* 所以使用 {@link ExternalAdaptManager} 来替代实现接口的方式, 来提供自定义适配参数
*/
private
void
customAdaptForExternal
()
{
/**
* {@link ExternalAdaptManager} 是一个管理外部三方库的适配信息和状态的管理类, 详细介绍请看 {@link ExternalAdaptManager} 的类注释
*/
AutoSizeConfig
.
getInstance
().
getExternalAdaptManager
();
//加入的 Activity 将会放弃屏幕适配, 一般用于三方库的 Activity, 详情请看方法注释
//如果不想放弃三方库页面的适配, 请用 addExternalAdaptInfoOfActivity 方法, 建议对三方库页面进行适配, 让自己的 App 更完美一点
// .addCancelAdaptOfActivity(DefaultErrorActivity.class)
//为指定的 Activity 提供自定义适配参数, AndroidAutoSize 将会按照提供的适配参数进行适配, 详情请看方法注释
//一般用于三方库的 Activity, 因为三方库的设计图尺寸可能和项目自身的设计图尺寸不一致, 所以要想完美适配三方库的页面
//就需要提供三方库的设计图尺寸, 以及适配的方向 (以宽为基准还是高为基准?)
//三方库页面的设计图尺寸可能无法获知, 所以如果想让三方库的适配效果达到最好, 只有靠不断的尝试
//由于 AndroidAutoSize 可以让布局在所有设备上都等比例缩放, 所以只要您在一个设备上测试出了一个最完美的设计图尺寸
//那这个三方库页面在其他设备上也会呈现出同样的适配效果, 等比例缩放, 所以也就完成了三方库页面的屏幕适配
//即使在不改三方库源码的情况下也可以完美适配三方库的页面, 这就是 AndroidAutoSize 的优势
//但前提是三方库页面的布局使用的是 dp 和 sp, 如果布局全部使用的 px, 那 AndroidAutoSize 也将无能为力
//经过测试 DefaultErrorActivity 的设计图宽度在 380dp - 400dp 显示效果都是比较舒服的
// .addExternalAdaptInfoOfActivity(DefaultErrorActivity.class, new ExternalAdaptInfo(true, 400));
}
private
void
initGreenDao
()
{
DaoManager
mManager
=
DaoManager
.
getInstance
();
mManager
.
init
(
this
);
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/BillOrderMoney.java
View file @
1e1dee0d
...
...
@@ -26,6 +26,7 @@ public class BillOrderMoney {
private
byte
type
=
DISCOUNT_TYPE
;
public
static
final
byte
DISCOUNT_TYPE
=
1
;
public
static
final
byte
SERVERCHARGE_TYPE
=
2
;
public
static
final
byte
ROUNDING_TYPE
=
3
;
private
Discount
discount
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/CurrentAndroidSetting.java
View file @
1e1dee0d
...
...
@@ -33,7 +33,7 @@ public class CurrentAndroidSetting {
private
int
ModFontSize
=
14
;
private
int
BillListFontSize
=
12
;
private
int
BillTotalFontSize
=
12
;
private
int
FoodlListFontSize
=
1
2
;
private
int
FoodlListFontSize
=
1
8
;
private
int
LayoutBillListHeight
=
40
;
private
int
LayoutQtyHeight
=
40
;
private
int
LayoutQuitHeight
=
40
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderDetail.java
View file @
1e1dee0d
...
...
@@ -160,21 +160,21 @@ public class OrderDetail implements Serializable {
*/
private
long
ablediscount
;
/**
*
食品組
*
折扣實體
*/
private
String
ftName
;
private
Discount
discount
;
/**
*
自定義組
*
折扣狀態#0:沒有折扣;1:折扣未送單;2:折扣已送單;
*/
private
String
majorName
;
private
int
discountStatus
;
/**
*
折扣實體
*
食品組
*/
private
Discount
discount
;
private
String
ftName
;
/**
*
折扣狀態#0:未送單;1:已送單;
*
自定義組
*/
private
int
discountStatus
;
private
String
majorName
;
/**
* 状态#0:正常;1:删除;
*/
...
...
@@ -629,7 +629,7 @@ public class OrderDetail implements Serializable {
//累加折扣總額
discountSourcePrice
=
MoneyUtil
.
sum
(
discountSourcePrice
,
orderDetail
.
getPrice
());
//食品折扣狀態為已送單
orderDetail
.
setDiscountStatus
(
1
);
orderDetail
.
setDiscountStatus
(
2
);
//往下找
int
nextIndex
=
i
+
1
;
if
(
orderList
.
size
()
==
nextIndex
||
orderList
.
get
(
nextIndex
).
getParentId
()
==
0
)
{
...
...
@@ -639,6 +639,8 @@ public class OrderDetail implements Serializable {
orderDetailList
.
add
(
discountTransOrderDetail
(
discount
,
false
,
parentId
,
discountSourcePrice
));
}
}
}
else
{
orderDetail
.
setDiscountStatus
(
0
);
}
if
(
orderDetail
.
isIsfood
())
{
...
...
@@ -658,8 +660,7 @@ public class OrderDetail implements Serializable {
return
discount
;
}
public
static
int
getItemType
(
OrderBean
.
OrderDetailsBean
orderDetailsBean
,
OrderDetail
parentOrderDetail
)
{
public
static
int
getItemType
(
OrderBean
.
OrderDetailsBean
orderDetailsBean
,
OrderDetail
parentOrderDetail
)
{
if
(
orderDetailsBean
!=
null
)
{
if
(
orderDetailsBean
.
getParentId
()
==
0
)
{
return
1
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/CommonConfiguration.java
View file @
1e1dee0d
...
...
@@ -55,7 +55,7 @@ public class CommonConfiguration {
*/
public
void
saveModifierTopIdConfiguration
(
List
<
Modifier
>
datas
)
{
for
(
Modifier
datasBean
:
datas
)
{
if
(
datasBean
.
get
Mid
()
!=
null
&&
datasBean
.
get
TopId
()
!=
null
&&
datasBean
.
getMid
()
!=
0
&&
datasBean
.
getTopId
()
!=
0
)
{
if
(
datasBean
.
getTopId
()
!=
null
&&
datasBean
.
getMid
()
!=
0
&&
datasBean
.
getTopId
()
!=
0
)
{
mModifierTopIdList
.
put
(
Integer
.
parseInt
(
datasBean
.
getMid
()
+
""
),
datasBean
.
getTopId
());
}
}
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/MoneyUtil.java
View file @
1e1dee0d
...
...
@@ -15,7 +15,7 @@ import static java.math.BigDecimal.ROUND_HALF_UP;
public
class
MoneyUtil
{
// 總金額小數位
public
static
int
rounding
,
RoundingDecimal
;
public
static
int
rounding
=
0
,
RoundingDecimal
=
1
;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public
static
int
ItemDecimals
=
2
;
...
...
@@ -30,220 +30,117 @@ public class MoneyUtil {
return
rMoney
;
}
public
static
double
get
_Count_money
(
double
countmoney
)
{
public
static
double
get
OrderRounding
(
double
vprice
)
{
//计算并返回最后的符合规定的取值
XLog
.
tag
(
"MoneyUtil"
).
d
(
"计算账单小数前金额get_Count_money: "
+
countmoney
);
int
vNum
=
0
,
x
,
y
;
double
xvPrice
=
vprice
;
double
Result
=
vprice
;
//帐单小数
//Sys_AndroidSetting \Rounding 帳單小數算法
//例如: e.g
//Rounding=0 0.1-0.9=0.0 /
//Rounding=1 0.1-0.9=1.0 /
//Rounding=2 0.1-0.4=0.0 and 0.5-0.9=1.0 即 4 捨 5 入
//Rounding=3 0.1-0.5=0.5 and 0.6-0.9=1.0
//Sys_AndroidSetting \RoundingDecimal 整單的小數位
//例如:帳單總金額 13.456
//RoundingDecimal=1 小數後1個位進行四捨五入, 總金額結果= 13.00
//RoundingDecimal=2 小數後2個位進行四捨五入, 總金額結果= 13.50
//12.25 RoundingDecimal=1 RoundingDecimal=2 RoundingDecimal=3
//Rounding=0(0.1-0.9=0.0) 12.00 12.20 12.25
//Rounding=1(0.1-0.9=1.0) 13.00 12.30 12.25
//Rounding=2(0.1-0.4=0.0 and 0.5-0.9=1.0) 12.00 12.30 12.25
//Rounding=3(0.1-0.5=0.0 and 0.6-0.9=1.0) 12.00 12.20 12.25
double
dMoney
=
0.00
;
//Locale.setDefault(Locale.GERMAN);
// countmoney=round(countmoney, RoundingDecimal+1);//首先产生包含了正确的数值
DecimalFormat
df
=
new
DecimalFormat
(
"#.000000000"
);
if
(
countmoney
<
1
)
{
countmoney
=
Math
.
round
(
countmoney
);
if
(
RoundingDecimal
>
0
)
{
vNum
=
(
int
)
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
-
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
))
/
10
)
*
10
);
}
else
if
(
RoundingDecimal
<
0
)
{
x
=
(
int
)
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
))
*
10
);
y
=
(
int
)
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
))
*
10
);
vNum
=
x
-
y
;
}
String
cm
=
df
.
format
(
countmoney
);
String
[]
stringarray
=
cm
.
split
(
"[.]"
);
String
Int_v
=
stringarray
[
0
];
//整数部分
String
litt_v
=
stringarray
[
1
];
//小数部分
if
(
Int_v
.
length
()
==
0
)
{
return
0.00
;
}
int
endIndex
=
RoundingDecimal
-
1
;
if
(
litt_v
.
length
()
<=
endIndex
)
{
return
countmoney
;
}
String
midd
=
litt_v
.
substring
(
0
,
RoundingDecimal
-
1
);
String
mid
=
litt_v
.
substring
(
RoundingDecimal
-
1
,
RoundingDecimal
);
// //帐单小数
// //Sys_AndroidSetting \Rounding 帳單小數算法
// //例如: e.g
// //Rounding=0 0.1-0.9=0.0 /
// //Rounding=1 0.1-0.9=1.0 /
// //Rounding=2 0.1-0.4=0.0 and 0.5-0.9=1.0 即 4 捨 5 入
// //Rounding=3 0.1-0.5=0.5 and 0.6-0.9=1.0
//
// //Sys_AndroidSetting \RoundingDecimal 整單的小數位
// //例如:帳單總金額 13.456
// //RoundingDecimal=1 小數後1個位進行四捨五入, 總金額結果= 13.00
// //RoundingDecimal=2 小數後2個位進行四捨五入, 總金額結果= 13.50
//
// //12.25 RoundingDecimal=1 RoundingDecimal=2
// //Rounding=0(0.1-0.9=0.0) 12.00 12.20
// //Rounding=1(0.1-0.9=1.0) 13.00 12.30
// //Rounding=2(0.1-0.4=0.0 and 0.5-0.9=1.0) 12.00 12.30
// //Rounding=3(0.1-0.5=0.5 and 0.6-0.9=1.0) 12.50 12.25
switch
(
rounding
)
{
case
0
:
//计算出countmoney的值
mid
=
"0"
;
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
1
:
//取出来的位置如果大于0,则需要在前面加1
if
(!
mid
.
equals
(
"0"
))
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
}
if
(
RoundingDecimal
==
1
)
{
xvPrice
=
Math
.
floor
(
vprice
);
}
else
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
)))
/
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
));
}
else
{
xvPrice
=
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
2
:
if
(!
mid
.
equals
(
"0"
))
{
if
(
Integer
.
parseInt
(
mid
)
>
4
)
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
}
case
1
:
if
(
RoundingDecimal
==
1
)
{
if
(
vNum
>
0
)
{
xvPrice
=
Math
.
floor
(
vprice
)
+
1
;
}
else
{
//小于4不进位
mid
=
"0"
;
xvPrice
=
Math
.
floor
(
vprice
);
}
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
3
:
if
(!
mid
.
equals
(
"0"
))
{
if
(
Integer
.
parseInt
(
mid
)
>
5
)
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
}
else
{
if
(
vNum
>
0
)
{
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
));
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
}
else
{
//小于5不进位
mid
=
"5"
;
xvPrice
=
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
default
:
dMoney
=
Double
.
parseDouble
(
new
DecimalFormat
(
"#.00"
).
format
(
countmoney
));
break
;
}
XLog
.
tag
(
"MoneyUtil"
).
d
(
"计算账单小数后金额get_Count_money: "
+
dMoney
);
return
dMoney
;
}
public
static
double
get_Count_money2
(
double
countmoney
)
{
//计算并返回最后的符合规定的取值
XLog
.
tag
(
"MoneyUtil"
).
d
(
"计算账单小数前金额get_Count_money: "
+
countmoney
);
double
dMoney
=
0.00
;
DecimalFormat
df
=
new
DecimalFormat
(
"#.000000000"
);
if
(
countmoney
<
1
)
{
countmoney
=
Math
.
round
(
countmoney
);
}
String
cm
=
df
.
format
(
countmoney
);
String
[]
stringarray
=
cm
.
split
(
"[.]"
);
String
Int_v
=
stringarray
[
0
];
//整数部分
String
litt_v
=
stringarray
[
1
];
//小数部分
if
(
Int_v
.
length
()
==
0
)
{
return
0.00
;
}
int
endIndex
=
RoundingDecimal
-
1
;
if
(
litt_v
.
length
()
<=
endIndex
)
{
return
countmoney
;
}
String
midd
=
litt_v
.
substring
(
0
,
RoundingDecimal
-
1
);
String
mid
=
litt_v
.
substring
(
RoundingDecimal
-
1
,
RoundingDecimal
);
switch
(
rounding
)
{
case
0
:
//计算出countmoney的值
mid
=
"0"
;
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
1
:
//取出来的位置如果大于0,则需要在前面加1
if
(!
mid
.
equals
(
"0"
))
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
case
2
:
if
(
RoundingDecimal
==
1
)
{
if
(
vNum
>
4
)
{
xvPrice
=
Math
.
floor
(
vprice
)
+
1
;
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
xvPrice
=
Math
.
floor
(
vprice
);
}
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
2
:
if
(!
mid
.
equals
(
"0"
))
{
if
(
Integer
.
parseInt
(
mid
)
>
4
)
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
}
else
{
if
(
vNum
>
4
)
{
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
));
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
}
else
{
//小于4不进位
mid
=
"0"
;
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
))))
/
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
));
}
else
{
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
))))
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
}
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
case
3
:
if
(!
mid
.
equals
(
"0"
))
{
if
(
Integer
.
parseInt
(
mid
)
>
5
)
{
if
(
RoundingDecimal
==
1
)
{
Int_v
=
String
.
valueOf
(
Integer
.
parseInt
(
Int_v
)
+
1
);
mid
=
"0"
;
if
(
vNum
>
5
)
{
if
(
RoundingDecimal
==
1
)
{
xvPrice
=
Math
.
floor
(
vprice
)
+
1
;
}
else
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
(
RoundingDecimal
-
1
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
));
}
else
{
xvPrice
=
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
(
RoundingDecimal
)))
+
1
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
}
else
{
if
(
RoundingDecimal
==
1
)
{
if
(
vNum
==
0
)
{
xvPrice
=
Math
.
floor
(
vprice
);
}
else
{
midd
=
String
.
valueOf
(
Integer
.
parseInt
(
midd
)
+
1
);
mid
=
"0"
;
xvPrice
=
(
Math
.
floor
(
vprice
)
*
10
+
5
)
/
10
;
}
}
else
if
(
RoundingDecimal
>
0
)
{
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
-
1
)))
*
10
+
5
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
));
}
else
{
//小于5不进位
mid
=
"5"
;
xvPrice
=
(
Math
.
floor
(
vprice
*
(
Math
.
pow
(
10
,
RoundingDecimal
)))
*
10
+
5
)
/
(
Math
.
pow
(
10
,
RoundingDecimal
+
1
));
}
}
mid
=
Int_v
+
"."
+
midd
+
mid
;
dMoney
=
Double
.
parseDouble
(
mid
);
break
;
}
XLog
.
tag
(
"MoneyUtil"
).
d
(
"计算账单小数后金额get_Count_money: "
+
dMoney
);
return
dMoney
;
Result
=
getDecimalMoney
(
xvPrice
,
2
);
return
Result
;
}
public
static
double
getDecimalMoney
(
double
money
,
int
decimal
)
{
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
View file @
1e1dee0d
...
...
@@ -6,14 +6,14 @@ package com.gingersoft.gsa.cloud.constans;
public
class
HttpsConstans
{
//默認為香港
public
static
String
ROOT_SERVER_ADDRESS_FORMAL
=
"http://a.ricepon.com:58201/ricepon-cloud-gsa/api/"
;
public
static
final
String
ROOT_SERVER_ADDRESS_FORMAL_SZ
=
"http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/"
;
//
深圳服务器
public
static
final
String
ROOT_SERVER_ADDRESS_FORMAL_HK
=
"http://a.ricepon.com:58201/ricepon-cloud-gsa/api/"
;
//
香港服务器
public
static
final
String
ROOT_SERVER_ADDRESS_FORMAL_SZ
=
"http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/"
;
//深圳服务器
public
static
final
String
ROOT_SERVER_ADDRESS_FORMAL_HK
=
"http://a.ricepon.com:58201/ricepon-cloud-gsa/api/"
;
//香港服务器
public
static
String
ROOT_SERVER_YOU_CHANG_HK
=
"http://192.168.1.142:9012/api/"
;
//友常本地
public
static
String
ROOT_SERVER_ADDRESS_FORMAL2
=
"http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/"
;
//測試服務器
public
static
String
ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL
=
"http://a.ricepon.com:58201/"
;
//清機接口地址
public
static
String
REPORT_SERVER_ADDRESS
=
"http://a.ricepon.com:58201/ricepon-report/api/"
;
//報表地址
public
static
String
WECHAR_REPORT_SERVER_ADDRESS
=
"http://a.ricepon.com:61177/member-web/api/"
;
//微信公眾號報表地址:首頁曲線圖數據,支付分析報表數據
public
static
String
_SERVER_ADDRESS
=
"http://a.ricepon.com:61177/member-web/api/"
;
//報表地址
}
public-base/src/main/java/com/gingersoft/gsa/cloud/constans/MealConstant.java
View file @
1e1dee0d
...
...
@@ -28,7 +28,7 @@ public interface MealConstant {
String
ADD_FOOD_MODIFIER
=
"add_food_modifier"
;
String
UPDATE_MODIFIER_MAX_QTY
=
"update_modifier_max_qty
"
;
String
SOLDOUT_MODIFIER
=
"soldout_modifier
"
;
String
EXIT_IS_PLU_MODE
=
"ExitIsPluMode"
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/DaoManager.java
View file @
1e1dee0d
...
...
@@ -68,6 +68,8 @@ public class DaoManager {
}
sDaoSession
=
sDaoMaster
.
newSession
();
}
//清除Greendao緩存
sDaoSession
.
clear
();
return
sDaoSession
;
}
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/ExpandInfo.java
0 → 100644
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
database
.
bean
;
import
org.greenrobot.greendao.annotation.Entity
;
import
org.greenrobot.greendao.annotation.Id
;
import
org.greenrobot.greendao.annotation.Property
;
import
org.greenrobot.greendao.annotation.Generated
;
import
java.util.Date
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-08
* 修订历史:2020-05-08
* 描述:餐廳擴展設置表
*/
@Entity
public
class
ExpandInfo
{
@Property
(
nameInDb
=
"_id"
)
@Id
(
autoincrement
=
true
)
private
Long
id
;
private
int
restaurant_id
;
/**功能建名称*/
private
String
settingName
;
/**功能值*/
private
Integer
valueInt
;
private
String
valueChar
;
private
Date
valueDatetime
;
/**功能说明*/
private
String
remark
;
@Generated
(
hash
=
1943112611
)
public
ExpandInfo
(
Long
id
,
int
restaurant_id
,
String
settingName
,
Integer
valueInt
,
String
valueChar
,
Date
valueDatetime
,
String
remark
)
{
this
.
id
=
id
;
this
.
restaurant_id
=
restaurant_id
;
this
.
settingName
=
settingName
;
this
.
valueInt
=
valueInt
;
this
.
valueChar
=
valueChar
;
this
.
valueDatetime
=
valueDatetime
;
this
.
remark
=
remark
;
}
@Generated
(
hash
=
9429432
)
public
ExpandInfo
()
{
}
public
Long
getId
()
{
return
this
.
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
int
getRestaurant_id
()
{
return
restaurant_id
;
}
public
void
setRestaurant_id
(
int
restaurant_id
)
{
this
.
restaurant_id
=
restaurant_id
;
}
public
String
getSettingName
()
{
return
settingName
;
}
public
void
setSettingName
(
String
settingName
)
{
this
.
settingName
=
settingName
;
}
public
Integer
getValueInt
()
{
return
valueInt
;
}
public
void
setValueInt
(
Integer
valueInt
)
{
this
.
valueInt
=
valueInt
;
}
public
String
getValueChar
()
{
return
valueChar
;
}
public
void
setValueChar
(
String
valueChar
)
{
this
.
valueChar
=
valueChar
;
}
public
Date
getValueDatetime
()
{
return
valueDatetime
;
}
public
void
setValueDatetime
(
Date
valueDatetime
)
{
this
.
valueDatetime
=
valueDatetime
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
}
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Food.java
View file @
1e1dee0d
...
...
@@ -573,26 +573,29 @@ public class Food {
* 自定義字段
*/
@Transient
/**選中數量*/
@Transient
private
int
number
;
/**食品組ID*/
@Transient
private
long
topId
;
@Transient
/**背景顏色*/
private
int
bgColor
=
Color
.
parseColor
(
"#03a9f4"
);
@Transient
private
int
bgColor
=
Color
.
parseColor
(
"#03a9f4"
);
/**字體顏色*/
private
int
fontColor
=
Color
.
parseColor
(
"#FFFFFF"
);
@Transient
private
int
fontColor
=
Color
.
parseColor
(
"#FFFFFF"
);
/**最大選中數*/
private
int
maxNumber
=
99
;
@Transient
private
String
maxNumber
=
""
;
/**動態的最大選中數*/
@Transient
private
String
currentMaxNumber
=
""
;
/**是否選中*/
private
boolean
selected
;
@Transient
private
boolean
selected
;
/**是否组合食品*/
@Transient
private
boolean
isComboFood
=
false
;
...
...
@@ -1257,14 +1260,22 @@ public class Food {
this
.
fontColor
=
fontColor
;
}
public
int
getMaxNumber
()
{
public
String
getMaxNumber
()
{
return
maxNumber
;
}
public
void
setMaxNumber
(
int
maxNumber
)
{
public
void
setMaxNumber
(
String
maxNumber
)
{
this
.
maxNumber
=
maxNumber
;
}
public
String
getCurrentMaxNumber
()
{
return
currentMaxNumber
;
}
public
void
setCurrentMaxNumber
(
String
currentMaxNumber
)
{
this
.
currentMaxNumber
=
currentMaxNumber
;
}
public
boolean
isSelected
()
{
return
selected
;
}
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Function.java
View file @
1e1dee0d
...
...
@@ -57,6 +57,9 @@ public class Function {
@Transient
private
int
iconRes
;
@Transient
private
String
lable
;
@Generated
(
hash
=
816556116
)
public
Function
(
Long
dbid
,
@NotNull
Long
id
,
int
parentId
,
int
groupId
,
int
status
,
long
effectiveTime
,
String
resName
,
String
resUrl
,
String
imageURL
,
int
icRes
)
{
...
...
@@ -256,6 +259,14 @@ public class Function {
this
.
icRes
=
icRes
;
}
public
String
getLable
()
{
return
lable
;
}
public
void
setLable
(
String
lable
)
{
this
.
lable
=
lable
;
}
@Override
public
String
toString
()
{
return
"Function{"
+
...
...
@@ -277,6 +288,7 @@ public class Function {
", backgroundColorRes="
+
backgroundColorRes
+
", textSizeRes="
+
textSizeRes
+
", iconRes="
+
iconRes
+
", lable='"
+
lable
+
'\''
+
'}'
;
}
}
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Modifier.java
View file @
1e1dee0d
...
...
@@ -389,9 +389,7 @@ public class Modifier {
/**
* 自定義字段
*/
/**
* 當前食品ID
*/
/** 當前食品ID*/
@Transient
private
long
fid
;
@Transient
...
...
@@ -405,13 +403,14 @@ public class Modifier {
private
int
fontColor
=
Color
.
parseColor
(
"#FFFFFF"
);
@Transient
/**最大選中數*/
private
int
maxNumber
=
99
;
private
String
maxNumber
=
""
;
/**動態的最大選中數*/
@Transient
/**最小選中數*/
private
int
minNumber
=
1
;
/**
* 默認選中數
*/
private
String
currentMaxNumber
=
""
;
/**是否售罄*/
@Transient
private
boolean
isSoldout
=
false
;
/** 默認選中數
*/
@Transient
private
String
defmodifier
=
"0"
;
@Transient
...
...
@@ -428,8 +427,6 @@ public class Modifier {
}
@Generated
(
hash
=
1490458360
)
public
Modifier
(
Long
dbid
,
long
mid
,
long
topId
,
long
restaurantId
,
String
modifierName
,
long
seqNo
,
double
marketPrice
,
double
price
,
...
...
@@ -496,13 +493,11 @@ public class Modifier {
}
public
Long
getDbid
()
{
return
dbid
;
}
public
L
ong
getMid
()
{
public
l
ong
getMid
()
{
return
mid
;
}
...
...
@@ -717,10 +712,18 @@ public class Modifier {
return
fontColor
;
}
public
int
getMaxNumber
()
{
public
String
getMaxNumber
()
{
return
maxNumber
;
}
public
String
getCurrentMaxNumber
()
{
return
currentMaxNumber
;
}
public
void
setCurrentMaxNumber
(
String
currentMaxNumber
)
{
this
.
currentMaxNumber
=
currentMaxNumber
;
}
public
boolean
isSelected
()
{
return
selected
;
}
...
...
@@ -733,10 +736,6 @@ public class Modifier {
this
.
dbid
=
dbid
;
}
public
void
setMid
(
Long
mid
)
{
this
.
mid
=
mid
;
}
public
void
setTopId
(
Long
topId
)
{
this
.
topId
=
topId
;
}
...
...
@@ -941,16 +940,16 @@ public class Modifier {
this
.
fontColor
=
fontColor
;
}
public
void
setMaxNumber
(
int
maxNumber
)
{
public
void
setMaxNumber
(
String
maxNumber
)
{
this
.
maxNumber
=
maxNumber
;
}
public
int
getMinNumber
()
{
return
minNumber
;
public
boolean
isSoldout
()
{
return
isSoldout
;
}
public
void
set
MinNumber
(
int
minNumber
)
{
this
.
minNumber
=
minNumber
;
public
void
set
Soldout
(
boolean
soldout
)
{
isSoldout
=
soldout
;
}
public
void
setSelected
(
boolean
selected
)
{
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/greendao/DaoMaster.java
View file @
1e1dee0d
...
...
@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version
4
): knows all DAOs.
* Master of DAO (schema version
5
): knows all DAOs.
*/
public
class
DaoMaster
extends
AbstractDaoMaster
{
public
static
final
int
SCHEMA_VERSION
=
4
;
public
static
final
int
SCHEMA_VERSION
=
5
;
/** Creates underlying database table using DAOs. */
public
static
void
createAllTables
(
Database
db
,
boolean
ifNotExists
)
{
...
...
@@ -29,6 +29,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao
.
createTable
(
db
,
ifNotExists
);
ModifierDao
.
createTable
(
db
,
ifNotExists
);
PrinterDeviceBeanDao
.
createTable
(
db
,
ifNotExists
);
ExpandInfoDao
.
createTable
(
db
,
ifNotExists
);
}
/** Drops underlying database table using DAOs. */
...
...
@@ -41,6 +42,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao
.
dropTable
(
db
,
ifExists
);
ModifierDao
.
dropTable
(
db
,
ifExists
);
PrinterDeviceBeanDao
.
dropTable
(
db
,
ifExists
);
ExpandInfoDao
.
dropTable
(
db
,
ifExists
);
}
/**
...
...
@@ -67,6 +69,7 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass
(
FunctionDao
.
class
);
registerDaoClass
(
ModifierDao
.
class
);
registerDaoClass
(
PrinterDeviceBeanDao
.
class
);
registerDaoClass
(
ExpandInfoDao
.
class
);
}
public
DaoSession
newSession
()
{
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/greendao/DaoSession.java
View file @
1e1dee0d
...
...
@@ -16,6 +16,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.database.greendao.ComboItemDao
;
import
com.gingersoft.gsa.cloud.database.greendao.DiscountDao
;
...
...
@@ -25,6 +26,7 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import
com.gingersoft.gsa.cloud.database.greendao.FunctionDao
;
import
com.gingersoft.gsa.cloud.database.greendao.ModifierDao
;
import
com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao
;
import
com.gingersoft.gsa.cloud.database.greendao.ExpandInfoDao
;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
...
...
@@ -43,6 +45,7 @@ public class DaoSession extends AbstractDaoSession {
private
final
DaoConfig
functionDaoConfig
;
private
final
DaoConfig
modifierDaoConfig
;
private
final
DaoConfig
printerDeviceBeanDaoConfig
;
private
final
DaoConfig
expandInfoDaoConfig
;
private
final
ComboItemDao
comboItemDao
;
private
final
DiscountDao
discountDao
;
...
...
@@ -52,6 +55,7 @@ public class DaoSession extends AbstractDaoSession {
private
final
FunctionDao
functionDao
;
private
final
ModifierDao
modifierDao
;
private
final
PrinterDeviceBeanDao
printerDeviceBeanDao
;
private
final
ExpandInfoDao
expandInfoDao
;
public
DaoSession
(
Database
db
,
IdentityScopeType
type
,
Map
<
Class
<?
extends
AbstractDao
<?,
?>>,
DaoConfig
>
daoConfigMap
)
{
...
...
@@ -81,6 +85,9 @@ public class DaoSession extends AbstractDaoSession {
printerDeviceBeanDaoConfig
=
daoConfigMap
.
get
(
PrinterDeviceBeanDao
.
class
).
clone
();
printerDeviceBeanDaoConfig
.
initIdentityScope
(
type
);
expandInfoDaoConfig
=
daoConfigMap
.
get
(
ExpandInfoDao
.
class
).
clone
();
expandInfoDaoConfig
.
initIdentityScope
(
type
);
comboItemDao
=
new
ComboItemDao
(
comboItemDaoConfig
,
this
);
discountDao
=
new
DiscountDao
(
discountDaoConfig
,
this
);
foodDao
=
new
FoodDao
(
foodDaoConfig
,
this
);
...
...
@@ -89,6 +96,7 @@ public class DaoSession extends AbstractDaoSession {
functionDao
=
new
FunctionDao
(
functionDaoConfig
,
this
);
modifierDao
=
new
ModifierDao
(
modifierDaoConfig
,
this
);
printerDeviceBeanDao
=
new
PrinterDeviceBeanDao
(
printerDeviceBeanDaoConfig
,
this
);
expandInfoDao
=
new
ExpandInfoDao
(
expandInfoDaoConfig
,
this
);
registerDao
(
ComboItem
.
class
,
comboItemDao
);
registerDao
(
Discount
.
class
,
discountDao
);
...
...
@@ -98,6 +106,7 @@ public class DaoSession extends AbstractDaoSession {
registerDao
(
Function
.
class
,
functionDao
);
registerDao
(
Modifier
.
class
,
modifierDao
);
registerDao
(
PrinterDeviceBean
.
class
,
printerDeviceBeanDao
);
registerDao
(
ExpandInfo
.
class
,
expandInfoDao
);
}
public
void
clear
()
{
...
...
@@ -109,6 +118,7 @@ public class DaoSession extends AbstractDaoSession {
functionDaoConfig
.
clearIdentityScope
();
modifierDaoConfig
.
clearIdentityScope
();
printerDeviceBeanDaoConfig
.
clearIdentityScope
();
expandInfoDaoConfig
.
clearIdentityScope
();
}
public
ComboItemDao
getComboItemDao
()
{
...
...
@@ -143,4 +153,8 @@ public class DaoSession extends AbstractDaoSession {
return
printerDeviceBeanDao
;
}
public
ExpandInfoDao
getExpandInfoDao
()
{
return
expandInfoDao
;
}
}
public-base/src/main/java/com/gingersoft/gsa/cloud/database/utils/ModifierDaoUtils.java
View file @
1e1dee0d
...
...
@@ -392,8 +392,7 @@ public class ModifierDaoUtils {
order
.
setMultiple
(
c
.
getDouble
(
c
.
getColumnIndex
(
"MULTIPLE"
)));
if
(
fid
!=
0
)
{
//非公共細項
order
.
setMaxNumber
(
c
.
getInt
(
c
.
getColumnIndex
(
"MAX_QTY"
)));
order
.
setMinNumber
(
c
.
getInt
(
c
.
getColumnIndex
(
"MIN_QTY"
)));
order
.
setMaxNumber
(
String
.
valueOf
(
c
.
getInt
(
c
.
getColumnIndex
(
"MAX_QTY"
))));
String
defmodifier
=
c
.
getString
(
c
.
getColumnIndex
(
"DEFMODIFIER"
));
if
(!
TextUtils
.
isEmpty
(
defmodifier
)
&&
!
", "
.
equals
(
defmodifier
))
{
order
.
setDefmodifier
(
defmodifier
);
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/function/FunctionManager.java
View file @
1e1dee0d
...
...
@@ -29,20 +29,30 @@ public class FunctionManager {
}
public
List
<
Function
>
getFunctionByResModule
(
Context
context
,
Class
c
,
String
specific
)
{
public
List
<
Function
>
getFunctionByResModule
(
Context
context
,
Class
c
,
FModule
[]
fModules
,
String
specific
)
{
String
resLoction
=
c
.
getSimpleName
().
toLowerCase
()
+
"/"
+
specific
;
FunctionDaoUtils
daoUtils
=
new
FunctionDaoUtils
(
context
);
List
<
Function
>
functionList
=
daoUtils
.
queryAllFunction
();
return
filterFunctionByResLoction
(
functionList
,
resLoction
);
return
filterFunctionByResLoction
(
functionList
,
fModules
,
resLoction
);
}
private
List
<
Function
>
filterFunctionByResLoction
(
List
<
Function
>
functionList
,
String
resLoction
)
{
private
List
<
Function
>
filterFunctionByResLoction
(
List
<
Function
>
functionList
,
FModule
[]
fModules
,
String
resLoction
)
{
List
<
Function
>
functions
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
functionList
.
size
();
i
++)
{
Function
function
=
functionList
.
get
(
i
);
if
(
function
.
getResUrl
().
startsWith
(
resLoction
))
{
for
(
int
j
=
0
;
j
<
fModules
.
length
;
j
++)
{
FModule
module
=
fModules
[
j
];
if
(
function
.
getResUrl
().
equals
(
module
.
getKeyRes
())){
if
(
function
.
getStatus
()
==
0
)
{
function
.
setIconRes
(
module
.
getOpenIconRes
());
}
else
{
function
.
setIconRes
(
module
.
getDisableIconRes
());
}
}
}
functions
.
add
(
function
);
}
}
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/function/FunctionModule.java
deleted
100644 → 0
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
function
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
/**
* 作者:ELEGANT_BIN
* 版本:1/6/0
* 创建日期:2020-04-10
* 修订历史:2020-04-10
* 描述:每個功能模塊對應的key
*/
public
class
FunctionModule
{
public
static
final
class
Main
{
/**首頁- 點餐*/
public
static
final
FModule
[]
order
=
{
new
FModule
(
"main/order/table"
,
R
.
drawable
.
table_splite
,
0
)
,
new
FModule
(
"main/order/delivery"
,
R
.
drawable
.
table_paper
,
0
)
,
new
FModule
(
"main/order/takeaway"
,
R
.
drawable
.
table_skyorder
,
0
),
new
FModule
(
"main/order/preorder"
,
R
.
drawable
.
table_skyorder
,
0
),
};
/**首頁- 管理*/
public
static
final
FModule
[]
manager
=
{
new
FModule
(
"main/manager/bill"
,
R
.
drawable
.
table_splite
,
0
)
,
new
FModule
(
"main/manager/table"
,
R
.
drawable
.
table_paper
,
0
)
,
new
FModule
(
"main/manager/printer"
,
R
.
drawable
.
table_skyorder
,
0
),
new
FModule
(
"main/manager/pay"
,
R
.
drawable
.
table_skyorder
,
0
),
new
FModule
(
"main/manager/discout"
,
R
.
drawable
.
table_skyorder
,
0
)
};
/**首頁- 員工管理*/
public
static
final
FModule
[]
employee
=
{
new
FModule
(
"main/employee/management"
,
R
.
drawable
.
table_splite
,
0
)
,
new
FModule
(
"main/employee/delivery"
,
R
.
drawable
.
table_paper
,
0
)
,
new
FModule
(
"main/employee/takeaway"
,
R
.
drawable
.
table_skyorder
,
0
)
};
}
public
static
final
class
Table
{
/**餐檯頁*/
public
static
final
FModule
[]
bottom
=
{
new
FModule
(
"table/bottom/init"
,
R
.
drawable
.
table_init
,
0
)
,
new
FModule
(
"table/bottom/move"
,
R
.
drawable
.
table_move
,
0
)
,
new
FModule
(
"table/bottom/splite"
,
R
.
drawable
.
table_splite
,
0
)
,
new
FModule
(
"table/bottom/parper"
,
R
.
drawable
.
table_paper
,
0
)
,
new
FModule
(
"table/bottom/skyorder"
,
R
.
drawable
.
table_skyorder
,
0
)
};
/**餐牌頁*/
public
static
final
FModule
[]
meal
=
{
new
FModule
(
"table/meal/plu"
,
R
.
drawable
.
table_paper
,
0
)
,
new
FModule
(
"table/meal/discount"
,
R
.
drawable
.
table_skyorder
,
0
)
};
/**賬單內容頁*/
public
static
final
FModule
[]
order
=
{
new
FModule
(
"table/order/send"
,
0
,
0
)
,
new
FModule
(
"table/order/print"
,
0
,
0
)
,
new
FModule
(
"table/order/pay"
,
0
,
0
)
,
new
FModule
(
"table/order/transfer"
,
0
,
0
)
,
new
FModule
(
"table/order/discount"
,
0
,
0
)
};
}
}
public-base/src/main/java/com/gingersoft/gsa/cloud/print/PrinterUtils.java
View file @
1e1dee0d
...
...
@@ -21,11 +21,14 @@ import android.content.Context;
import
android.graphics.Bitmap
;
import
android.graphics.Color
;
import
android.graphics.Matrix
;
import
android.widget.Adapter
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.constans.Constans
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.widget.DialogUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.jess.arms.base.DefaultAdapter
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -43,6 +46,8 @@ public class PrinterUtils {
"0100"
,
"0101"
,
"0110"
,
"0111"
,
"1000"
,
"1001"
,
"1010"
,
"1011"
,
"1100"
,
"1101"
,
"1110"
,
"1111"
};
public
static
String
printMachineCode
;
/**
* 初始化打印机
*
...
...
@@ -451,18 +456,29 @@ public class PrinterUtils {
/**
* 顯示修改打印方式的彈窗
*
* @param context
*/
public
static
void
switchPrintMethod
(
Context
context
)
{
public
static
void
switchPrintMethod
(
Context
context
,
Function
function
,
DefaultAdapter
orderTopFunctionAdapter
)
{
// 顯示切換打印方式的彈窗
new
DialogUtils
(
context
,
R
.
layout
.
print_select_print_method
)
{
@Override
public
void
initLayout
(
ViewHepler
hepler
,
Dialog
dialog
)
{
hepler
.
setViewClick
(
R
.
id
.
local_print
,
v
->
{
if
(
function
!=
null
)
{
PrinterUtils
.
printMachineCode
=
"本機"
;
function
.
setLable
(
"本機"
);
orderTopFunctionAdapter
.
notifyDataSetChanged
();
}
SPUtils
.
put
(
dialog
.
getContext
(),
Constans
.
DEFAULT_PRINT_METHOD
,
Constans
.
LOCAL_PRINT
);
dialog
.
dismiss
();
});
hepler
.
setViewClick
(
R
.
id
.
internet_print
,
v
->
{
if
(
function
!=
null
)
{
PrinterUtils
.
printMachineCode
=
"網絡"
;
function
.
setLable
(
"網絡"
);
orderTopFunctionAdapter
.
notifyDataSetChanged
();
}
SPUtils
.
put
(
dialog
.
getContext
(),
Constans
.
DEFAULT_PRINT_METHOD
,
Constans
.
IP_PRINT
);
dialog
.
dismiss
();
});
...
...
public-base/src/main/res/drawable-xhdpi/table_init.png
deleted
100644 → 0
View file @
28b1c416
2.14 KB
public-base/src/main/res/drawable-xhdpi/table_move.png
deleted
100644 → 0
View file @
28b1c416
1.95 KB
public-base/src/main/res/drawable-xhdpi/table_paper.png
deleted
100644 → 0
View file @
28b1c416
1.37 KB
public-base/src/main/res/drawable-xhdpi/table_skyorder.png
deleted
100644 → 0
View file @
28b1c416
2.48 KB
public-base/src/main/res/drawable-xhdpi/table_splite.png
deleted
100644 → 0
View file @
28b1c416
1.43 KB
qm-lintrule/src/main/java/com/qmuiteam/qmui/lint/QMUIJavaVectorDrawableDetector.java
View file @
1e1dee0d
...
...
@@ -16,19 +16,8 @@
package
com
.
qmuiteam
.
qmui
.
lint
;
import
com.android.tools.lint.detector.api.Category
;
import
com.android.tools.lint.detector.api.Detector
;
import
com.android.tools.lint.detector.api.Implementation
;
import
com.android.tools.lint.detector.api.Issue
;
import
com.android.tools.lint.detector.api.JavaContext
;
import
com.android.tools.lint.detector.api.Project
;
import
com.android.tools.lint.detector.api.Scope
;
import
com.android.tools.lint.detector.api.Severity
;
import
com.intellij.psi.JavaElementVisitor
;
import
com.intellij.psi.PsiExpression
;
import
com.intellij.psi.PsiExpressionList
;
import
com.intellij.psi.PsiMethod
;
import
com.intellij.psi.PsiMethodCallExpression
;
import
android.icu.util.ULocale
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
...
...
@@ -40,6 +29,8 @@ import java.io.InputStreamReader;
import
java.util.Collections
;
import
java.util.List
;
import
javax.inject.Scope
;
/**
* 检测是否在 getDrawable 方法中传入了 Vector Drawable,在 4.0 及以下版本的系统中会导致 Crash
* Created by Kayo on 2017/8/24.
...
...
@@ -51,7 +42,7 @@ public class QMUIJavaVectorDrawableDetector extends Detector implements Detector
Issue
.
create
(
"QMUIGetVectorDrawableWithWrongFunction"
,
"Should use the corresponding method to get vector drawable."
,
"Using the normal method to get the vector drawable will cause a crash on Android versions below 4.0"
,
Category
.
CORRECTNESS
,
8
,
Severity
.
ERROR
,
ULocale
.
Category
.
CORRECTNESS
,
8
,
Severity
.
ERROR
,
new
Implementation
(
QMUIJavaVectorDrawableDetector
.
class
,
Scope
.
JAVA_FILE_SCOPE
));
@Override
...
...
table-mode/src/main/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -14,5 +14,12 @@
<meta-data
android:name=
"com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"640"
/>
</application>
</manifest>
table-mode/src/main/debug/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -28,10 +28,10 @@
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"
540"
/>
android:value=
"
640"
/>
</application>
<uses-permission
android:name=
"android.permission.RECEIVE_USER_PRESENT"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/ComponentTable.java
View file @
1e1dee0d
...
...
@@ -4,6 +4,7 @@ import com.billy.cc.core.component.CC;
import
com.billy.cc.core.component.CCResult
;
import
com.billy.cc.core.component.CCUtil
;
import
com.billy.cc.core.component.IComponent
;
import
com.gingersoft.gsa.cloud.function.FModule
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity
;
...
...
@@ -11,6 +12,29 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public
class
ComponentTable
implements
IComponent
{
public
static
final
class
Function
{
/**餐檯頁*/
public
static
final
FModule
[]
bottom
=
{
new
FModule
(
"table/bottom/init"
,
R
.
mipmap
.
table_init
,
0
)
,
new
FModule
(
"table/bottom/move"
,
R
.
mipmap
.
table_move
,
0
)
,
new
FModule
(
"table/bottom/splite"
,
R
.
mipmap
.
table_splite
,
0
)
,
new
FModule
(
"table/bottom/parper"
,
R
.
mipmap
.
table_paper
,
0
)
,
new
FModule
(
"table/bottom/skyorder"
,
R
.
mipmap
.
table_skyorder
,
0
)
};
/**餐牌頁*/
public
static
final
FModule
[]
meal
=
{
new
FModule
(
"table/meal/plu"
,
R
.
mipmap
.
table_paper
,
0
)
,
new
FModule
(
"table/meal/discount"
,
R
.
mipmap
.
table_skyorder
,
0
)
};
/**賬單內容頁*/
public
static
final
FModule
[]
order
=
{
new
FModule
(
"table/order/send"
,
0
,
0
)
,
new
FModule
(
"table/order/print"
,
0
,
0
)
,
new
FModule
(
"table/order/pay"
,
0
,
0
)
,
new
FModule
(
"table/order/transfer"
,
0
,
0
)
,
new
FModule
(
"table/order/discount"
,
0
,
0
)
};
}
@Override
public
String
getName
()
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
View file @
1e1dee0d
...
...
@@ -109,6 +109,8 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observable
<
BaseRespose
>
loadOrder
(
long
orderId
);
// Observable<BaseRespose> deleteFood(List<Map<Byte, DeleteOrderRequest>> mapsDelete, long orderId, byte type, int reasonId);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.mvp.IModel
;
import
com.jess.arms.mvp.IView
;
...
...
@@ -9,6 +11,11 @@ import com.jess.arms.mvp.IView;
import
java.util.List
;
import
androidx.recyclerview.widget.RecyclerView
;
import
io.reactivex.Observable
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
import
retrofit2.http.POST
;
/**
...
...
@@ -66,5 +73,12 @@ public interface SoldoutCtrlContract {
List
<
Food
>
queryDB_FoodList
(
long
parentId
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
);
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
);
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
1e1dee0d
...
...
@@ -110,6 +110,12 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
}
@Override
public
Observable
<
BaseRespose
>
loadOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
loadOrder
(
orderId
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
View file @
1e1dee0d
...
...
@@ -2,11 +2,13 @@ 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.Food
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MealService
;
import
com.google.gson.Gson
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.integration.IRepositoryManager
;
...
...
@@ -16,6 +18,9 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.Observable
;
import
okhttp3.RequestBody
;
/**
* ================================================
...
...
@@ -69,4 +74,22 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
return
foodCombo
;
}
@Override
public
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
insertSoldoutCtrl
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
restoreSoldoutCtrl
(
requestBody
);
}
}
\ No newline at end of file
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SoldoutCtrFood.java
0 → 100644
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-30
* 修订历史:2020-04-30
* 描述:
*/
public
class
SoldoutCtrFood
{
private
long
id
;
private
int
restaurantId
;
private
long
brandId
;
private
Long
foodId
;
private
Long
modifierId
;
private
byte
type
;
private
int
remainingNumber
=
-
999999999
;
private
int
useNumber
=
-
999999999
;
private
String
foodName
;
private
String
foodName1
;
private
String
foodName2
;
private
int
selected
;
public
String
getQtyName
()
{
if
(
remainingNumber
==
-
999999999
)
{
return
""
;
}
if
(
useNumber
==
-
999999999
)
{
useNumber
=
0
;
}
if
(
remainingNumber
==
0
)
{
return
"暫停"
;
}
if
(
remainingNumber
-
useNumber
>
0
)
{
return
String
.
valueOf
(
remainingNumber
-
useNumber
);
}
if
(
remainingNumber
-
useNumber
==
0
)
{
return
"售罄"
;
}
return
""
;
}
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
String
getName
(){
return
foodName
;
}
public
String
getFoodName
()
{
return
foodName
;
}
public
void
setFoodName
(
String
foodName
)
{
this
.
foodName
=
foodName
;
}
public
String
getFoodName1
()
{
return
foodName1
;
}
public
void
setFoodName1
(
String
foodName1
)
{
this
.
foodName1
=
foodName1
;
}
public
String
getFoodName2
()
{
return
foodName2
;
}
public
void
setFoodName2
(
String
foodName2
)
{
this
.
foodName2
=
foodName2
;
}
public
int
getRestaurantId
()
{
return
restaurantId
;
}
public
void
setRestaurantId
(
int
restaurantId
)
{
this
.
restaurantId
=
restaurantId
;
}
public
long
getBrandId
()
{
return
brandId
;
}
public
void
setBrandId
(
long
brandId
)
{
this
.
brandId
=
brandId
;
}
public
Long
getFoodId
()
{
return
foodId
;
}
public
void
setFoodId
(
Long
foodId
)
{
this
.
foodId
=
foodId
;
}
public
Long
getModifierId
()
{
return
modifierId
;
}
public
void
setModifierId
(
Long
modifierId
)
{
this
.
modifierId
=
modifierId
;
}
public
byte
getType
()
{
return
type
;
}
public
void
setType
(
byte
type
)
{
this
.
type
=
type
;
}
public
int
getRemainingNumber
()
{
return
remainingNumber
;
}
public
void
setRemainingNumber
(
int
remainingNumber
)
{
this
.
remainingNumber
=
remainingNumber
;
}
public
int
getUseNumber
()
{
return
useNumber
;
}
public
void
setUseNumber
(
int
useNumber
)
{
this
.
useNumber
=
useNumber
;
}
public
int
getSelected
()
{
return
selected
;
}
public
void
setSelected
(
int
selected
)
{
this
.
selected
=
selected
;
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/request/SoldoutRequest.java
0 → 100644
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
.
request
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-06
* 修订历史:2020-05-06
* 描述:
*/
public
class
SoldoutRequest
{
public
static
class
Insert
{
private
long
brandId
;
private
int
restaurantId
;
private
Long
foodId
;
private
Long
modifierId
;
private
int
type
;
private
int
remainingNumber
;
private
long
uid
;
public
long
getBrandId
()
{
return
brandId
;
}
public
void
setBrandId
(
long
brandId
)
{
this
.
brandId
=
brandId
;
}
public
int
getRestaurantId
()
{
return
restaurantId
;
}
public
void
setRestaurantId
(
int
restaurantId
)
{
this
.
restaurantId
=
restaurantId
;
}
public
long
getFoodId
()
{
return
foodId
;
}
public
void
setFoodId
(
long
foodId
)
{
this
.
foodId
=
foodId
;
}
public
long
getModifierId
()
{
return
modifierId
;
}
public
void
setModifierId
(
long
modifierId
)
{
this
.
modifierId
=
modifierId
;
}
public
int
getType
()
{
return
type
;
}
public
void
setType
(
int
type
)
{
this
.
type
=
type
;
}
public
int
getRemainingNumber
()
{
return
remainingNumber
;
}
public
void
setRemainingNumber
(
int
remainingNumber
)
{
this
.
remainingNumber
=
remainingNumber
;
}
public
long
getUid
()
{
return
uid
;
}
public
void
setUid
(
long
uid
)
{
this
.
uid
=
uid
;
}
}
public
static
class
update
{
private
long
id
;
/**是否刪除 0 正常 1 刪除*/
private
int
deletes
;
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
int
getDeletes
()
{
return
deletes
;
}
public
void
setDeletes
(
int
deletes
)
{
this
.
deletes
=
deletes
;
}
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MealService.java
View file @
1e1dee0d
...
...
@@ -15,6 +15,7 @@ import retrofit2.http.Body;
import
retrofit2.http.Field
;
import
retrofit2.http.FormUrlEncoded
;
import
retrofit2.http.GET
;
import
retrofit2.http.Headers
;
import
retrofit2.http.POST
;
import
retrofit2.http.Query
;
...
...
@@ -27,6 +28,17 @@ import retrofit2.http.Query;
*/
public
interface
MealService
{
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/list"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/insert"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
insertSoldoutCtrl
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/updatePrg"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
restoreSoldoutCtrl
(
@Body
RequestBody
requestBody
);
@POST
(
"order/send"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
createOrder
(
@Body
RequestBody
requestBody
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/AllTablePresenter.java
View file @
1e1dee0d
...
...
@@ -64,7 +64,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
super
(
model
,
rootView
);
this
.
IView
=
(
AllTableFragment
)
rootView
;
Activity
activity
=
IView
.
getActivity
();
Activity
activity
=
IView
.
get
Current
Activity
();
if
(
activity
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
activity
;
}
else
if
(
activity
instanceof
OrderContentActivity
)
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
1e1dee0d
...
...
@@ -128,6 +128,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
resetSelected
();
initOrderAdapter
();
initItemClickListener
();
addSentOrderMoney
();
addOrderRounding
();
}
@Override
...
...
@@ -139,44 +143,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
this
.
mApplication
=
null
;
}
protected
List
<
Discount
>
getDiscountList
()
{
List
<
Discount
>
discountList
=
new
ArrayList
<>();
Discount
discount
=
new
Discount
();
discount
.
setId
((
long
)
1
);
discount
.
setDiscount_value
((
double
)
10
);
discount
.
setType
(
1
);
discount
.
setStatus
(
0
);
discount
.
setRemark
(
"9折"
);
discountList
.
add
(
discount
);
Discount
discount2
=
new
Discount
();
discount2
.
setId
((
long
)
2
);
discount2
.
setDiscount_value
((
double
)
20
);
discount2
.
setType
(
1
);
discount2
.
setStatus
(
0
);
discount2
.
setRemark
(
"8折"
);
discountList
.
add
(
discount2
);
Discount
discount3
=
new
Discount
();
discount3
.
setId
((
long
)
3
);
discount3
.
setDiscount_value
((
double
)
30
);
discount3
.
setType
(
1
);
discount3
.
setStatus
(
0
);
discount3
.
setRemark
(
"7折"
);
discountList
.
add
(
discount3
);
Discount
discount4
=
new
Discount
();
discount4
.
setId
((
long
)
4
);
discount4
.
setAmount
((
double
)
20
);
discount4
.
setType
(
0
);
discount4
.
setStatus
(
0
);
discount4
.
setRemark
(
"立減20"
);
discountList
.
add
(
discount4
);
return
discountList
;
}
private
void
initOrderAdapter
()
{
if
(
mSelectMealAdapter
==
null
)
{
mSelectMealAdapter
=
new
SelectMealAdapter
(
IActivity
,
mOrderFoodList
,
this
);
...
...
@@ -186,8 +152,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if
(
mOrderMoneyAdapter
==
null
)
{
mOrderMoneyAdapter
=
new
OrderMoneyAdapter
(
IActivity
,
mOrderMoneyList
,
cashStr
);
}
addSentOrderMoney
();
initItemClickListener
();
}
private
void
initItemClickListener
()
{
...
...
@@ -213,7 +177,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity
.
initOrderDetail
();
}
//更新折扣
update
Discount
Item
();
update
OrderMoney
Item
();
}
@Override
...
...
@@ -224,7 +188,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity
.
initOrderDetail
();
}
//更新折扣
update
Discount
Item
();
update
OrderMoney
Item
();
}
@Override
...
...
@@ -241,7 +205,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if
(
mMealStandPresenter
!=
null
)
{
mMealStandPresenter
.
updateOrderFoodNumber
();
}
update
Discount
Item
();
update
OrderMoney
Item
();
mSelectMealAdapter
.
notifyDataSetChanged
();
}
...
...
@@ -329,6 +293,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 更新賬單金額
*/
protected
void
updateOrderMoneyItem
(){
updateOrderDiscount
();
updateOrderRounding
();
}
/**
* 添加賬單折扣
*
* @param discount
...
...
@@ -361,7 +333,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/**
* 更新折扣金額
*/
protected
void
update
DiscountItem
()
{
protected
void
update
OrderDiscount
()
{
boolean
updateData
=
false
;
double
totalMoney
=
0
;
...
...
@@ -393,9 +365,23 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
//參與折扣
orderDetailsBean
.
setAblediscount
(
1
);
if
(!
orderDetailsBean
.
isNew
())
{
if
(
orderDetailsBean
.
getDiscountStatus
()
==
0
)
{
//此食品新增折扣
orderDetailsBean
.
setDiscountStatus
(
1
);
}
}
}
}
}
}
else
{
for
(
int
i
=
0
;
i
<
orderDetailList
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderDetailsBean
=
orderDetailList
.
get
(
i
);
orderDetailsBean
.
setAblediscount
(
0
);
orderDetailsBean
.
setDiscountStatus
(
0
);
}
}
}
if
(
updateData
)
{
mSelectMealAdapter
.
notifyDataSetChanged
();
...
...
@@ -403,6 +389,38 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 添加賬單小數行
*/
protected
void
addOrderRounding
()
{
double
m1
=
getTotalAmount
();
double
m2
=
MoneyUtil
.
getOrderRounding
(
m1
);
double
roundingMoney
=
0.0
;
if
(
m2
!=
0
)
{
roundingMoney
=
m2
-
MoneyUtil
.
get_ItemDecimals_money
(
m1
);
}
if
(
roundingMoney
!=
0.00
)
{
BillOrderMoney
roundingItem
=
new
BillOrderMoney
();
roundingItem
.
setMoney
(
MoneyUtil
.
getDecimalMoney
(
roundingMoney
,
MoneyUtil
.
ItemDecimals
));
roundingItem
.
setTitle
(
"賬單小數"
);
roundingItem
.
setType
(
BillOrderMoney
.
ROUNDING_TYPE
);
mOrderMoneyList
.
add
(
roundingItem
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
}
/**
* 更新賬單小數
*/
protected
void
updateOrderRounding
(){
for
(
BillOrderMoney
orderMoney:
mOrderMoneyList
)
{
if
(
orderMoney
.
getType
()
==
BillOrderMoney
.
ROUNDING_TYPE
){
mOrderMoneyList
.
remove
(
orderMoney
);
addOrderRounding
();
}
}
}
/**
* 創建訂單后保存OrderId
*
* @param orderId
...
...
@@ -419,7 +437,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
OrderDetail
datasBean
=
mOrderFoodList
.
get
(
i
);
datasBean
.
setSelected
(
0
);
}
if
(
mSelectMealAdapter
!=
null
)
{
if
(
mSelectMealAdapter
!=
null
)
{
mSelectMealAdapter
.
notifyDataSetChanged
();
}
}
...
...
@@ -489,7 +507,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
for
(
int
i
=
orderDetails
.
size
()
-
1
;
i
>=
0
;
i
--)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderDetail1
=
orderDetails
.
get
(
i
);
if
(
orderDetail1
.
getType
()
!=
DISCOUNT_TYPE
)
{
if
(
orderDetail1
.
getType
()
!=
DISCOUNT_TYPE
)
{
builder
.
append
(
orderDetail1
.
getId
());
builder
.
append
(
","
);
}
...
...
@@ -670,7 +688,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request
.
setAblediscount
(
item
.
getAblediscount
());
request
.
setDiscountId
(
getDiscountIdByParentId
(
foodList
,
mainParentId
));
request
.
setLunchboxPrice
(
0
);
if
(
item
.
isNew
()
||
item
.
getDiscountStatus
()
==
0
)
{
if
(
item
.
isNew
()
||
item
.
getDiscountStatus
()
==
1
)
{
//這裡只添加新食品或有新折扣食品
orderItems
.
add
(
request
);
//保存新食品,打印用到
...
...
@@ -729,7 +747,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return
null
;
}
/**
* 返回未送單食品列表
*
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
View file @
1e1dee0d
...
...
@@ -3,16 +3,20 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import
android.app.Activity
;
import
android.app.Application
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemOneAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemTwoAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.mvp.BasePresenter
;
...
...
@@ -60,7 +64,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
private
List
<
Modifier
>
mFineItemTwoList
=
new
ArrayList
<>();
//所有沽清数据
// private List<CurrentSoldoutFood.DatasBean
> mCurrentSlodoutFoodList_Full = null;
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
null
;
//记录第一层细项上次选中的食品种类
private
int
mFineItemOneLastPosition
=
-
1
;
...
...
@@ -98,7 +102,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
public
void
initItemListener
(
Context
context
)
{
mFineItemAllAdapter
.
setOnItemClickListener
(
new
FineItemOneAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Modifier
datasBean
,
int
position
)
{
...
...
@@ -111,21 +114,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
MealStandActivity
mealStandActivity
=
(
MealStandActivity
)
context
;
if
(
datasBean
.
isParent
())
{
// if (datasBean.isModKeyboard()) {
// //获取细项备注数据,这里为了拿到最大最小数
//// List<Modifier> modifierList = mealStandActivity.getMealStandModel().queryDB_ComboSelfDetailList(datasBean.getFid(), MealStandModel.modifierMode_Add);
//// for (int i = 0; i < modifierList.size(); i++) {
//// String fid1 = modifierList.get(i).getFid();
//// String fid2 = datasBean.getFid();
//// if (fid1.equals(fid2)) {
// mealStandActivity.getMealStandPresenter().addModalKeyBoardModfier(datasBean);
// mealStandActivity.getMealStandPresenter().displayModalKeyBoardDialog();
//// break;
//// }
//// }
// } else {
initChildFineItemItemData
(
datasBean
.
getMid
());
// }
}
else
{
addModifierItem
(
datasBean
);
}
...
...
@@ -158,26 +147,21 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
}
private
void
addModifierItem
(
Modifier
datasBean
)
{
int
OR_Qty
=
datasBean
.
getMaxNumber
();
String
OR_Qty
=
datasBean
.
getMaxNumber
();
int
Qty
=
datasBean
.
getNumber
();
boolean
isSoldout
=
false
;
// if (datasBean.isSoldout() || OR_Qty.equalsIgnoreCase("售罄") || OR_Qty.equalsIgnoreCase("暫停")) {
// isSoldout = true;
// } else if (!TextUtils.isEmpty(OR_Qty)) {
// isSoldout = Integer.parseInt(OR_Qty) <= Qty;
// }
// if (isSoldout) {
// String Showtile = LanguageUtils.get_language_system(mApplication, "meal.Qty.short", "%s數量不足(meal.Qty.short)");
// Showtile = Showtile.format(Showtile, AndroidSettingUtils.getDataLanguage(datasBean.getDesc1(), datasBean.getDesc2(), datasBean.getDesc3()));
// TitleDialog.showTitledialog(IActivity, Showtile,
// LanguageUtils.get_language_system(mApplication, "comm.title", "qmui_icon_dialog_surprised"),
// LanguageUtils.get_language_system(mApplication, "comm.BtnOk", "ok"),
// "", null);
// } else {
EventBus
.
getDefault
().
post
(
datasBean
,
MealConstant
.
ADD_FOOD_MODIFIER
);
// }
if
(
datasBean
.
isSoldout
()
||
OR_Qty
.
equalsIgnoreCase
(
"售罄"
)
||
OR_Qty
.
equalsIgnoreCase
(
"暫停"
))
{
isSoldout
=
true
;
}
else
if
(!
TextUtils
.
isEmpty
(
OR_Qty
))
{
isSoldout
=
Integer
.
parseInt
(
OR_Qty
)
<=
Qty
;
}
if
(
isSoldout
)
{
String
msg
=
LanguageUtils
.
get_language_system
(
mApplication
,
"meal.Qty.short"
,
"["
+
datasBean
+
"]數量不足(meal.Qty.short)"
);
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
msg
,
null
,
null
,
null
,
null
,
null
);
}
else
{
EventBus
.
getDefault
().
post
(
datasBean
,
MealConstant
.
ADD_FOOD_MODIFIER
);
}
mFineItemAllAdapter
.
notifyDataSetChanged
();
}
...
...
@@ -187,48 +171,49 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
if
(
datasBean
.
isParent
())
{
initChildFineItemItemData
(
datasBean
.
getMid
());
}
else
{
//操作類型(暂停操作、恢复操作)
if
(!
isStopOpeart
(
datasBean
))
{
showInputNumberDialog
(
datasBean
,
context
);
}
// //操作類型(暂停操作、恢复操作)
// if (!isStopOpeart(datasBean)) {
// showInputNumberDialog(datasBean, context);
// }
EventBus
.
getDefault
().
post
(
datasBean
,
MealConstant
.
SOLDOUT_MODIFIER
);
}
}
private
void
showInputNumberDialog
(
Modifier
datasBean
,
Context
context
)
{
//选择沽清的数量
ChooseNumberDialog
inputNumberDialog
=
new
ChooseNumberDialog
(
context
);
inputNumberDialog
.
builder
();
inputNumberDialog
.
setOnClickListener
(
new
ChooseNumberDialog
.
OnClickListener
()
{
@Override
public
void
onComfirmClick
(
String
number
)
{
// EventBus.getDefault().post(new InsertSoldoutCtrlEvent(datasBean.getMID(), number), "InsertSoldoutCtrlEvent");
}
@Override
public
void
onBackPage
()
{
}
});
inputNumberDialog
.
setType
(
2
);
inputNumberDialog
.
setCancelable
(
true
);
inputNumberDialog
.
show
();
}
private
boolean
isStopOpeart
(
Modifier
datasBean
)
{
boolean
isStopOpeart
=
false
;
// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
// for (CurrentSoldoutFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
// if (!TextUtils.isEmpty(csf.get_QtyName())) {
// isStopOpeart = true;
// //暂停或者售罄直接提示恢复
// EventBus.getDefault().post(csf, "toRestoreBeforeEvent");
// }
// }
// private void showInputNumberDialog(Modifier datasBean, Context context) {
// //选择沽清的数量
// ChooseNumberDialog inputNumberDialog = new ChooseNumberDialog(context);
// inputNumberDialog.builder();
// inputNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
// @Override
// public void onComfirmClick(String number) {
//// EventBus.getDefault().post(new InsertSoldoutCtrlEvent(datasBean.getMID(), number), "InsertSoldoutCtrlEvent");
// }
// }
return
isStopOpeart
;
}
//
// @Override
// public void onBackPage() {
//
// }
// });
// inputNumberDialog.setType(2);
// inputNumberDialog.setCancelable(true);
// inputNumberDialog.show();
// }
// private boolean isStopOpeart(Modifier datasBean) {
// boolean isStopOpeart = false;
//// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
//// for (SoldoutCtrFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
//// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
//// if (!TextUtils.isEmpty(csf.get_QtyName())) {
//// isStopOpeart = true;
//// //暂停或者售罄直接提示恢复
//// EventBus.getDefault().post(csf, "toRestoreBeforeEvent");
//// }
//// }
//// }
//// }
// return isStopOpeart;
// }
public
void
initModMsgFineItemData
(
long
mid
)
{
...
...
@@ -244,7 +229,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
return
;
}
setFid
(
modifierList
,
mid
);
setFid
(
modifierList
,
mid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
...
...
@@ -313,7 +298,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
datasBean
.
setBgColor
(
android
.
graphics
.
Color
.
parseColor
(
"#FFFF0000"
));
modifierList
.
add
(
0
,
datasBean
);
setFid
(
modifierList
,
fid
);
setFid
(
modifierList
,
fid
);
mFineItemTwoList
.
clear
();
mFineItemTwoList
.
addAll
(
modifierList
);
...
...
@@ -324,14 +309,14 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
mRootView
.
getRecycle_fine_adll
().
setVisibility
(
View
.
INVISIBLE
);
}
// public void updateCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean
> event) {
//
this.mCurrentSlodoutFoodList_Full = event;
// mFineItemAllAdapter.setm
CurrentSlodoutFoodList_Full(event);
//
mFineItemAllAdapter.notifyDataSetChanged();
//
//// mFineItemTwoAdapter.setm
CurrentSlodoutFoodList_Full(event);
//
mFineItemTwoAdapter.notifyDataSetChanged();
//
}
public
void
updateCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
event
)
{
this
.
mCurrentSlodoutFoodList_Full
=
event
;
mFineItemAllAdapter
.
set
CurrentSlodoutFoodList_Full
(
event
);
mFineItemAllAdapter
.
notifyDataSetChanged
();
mFineItemTwoAdapter
.
set
CurrentSlodoutFoodList_Full
(
event
);
mFineItemTwoAdapter
.
notifyDataSetChanged
();
}
private
void
setFid
(
List
<
Modifier
>
fineItemList
,
long
fid
)
{
if
(
fineItemList
==
null
)
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemKindPresenter.java
View file @
1e1dee0d
...
...
@@ -57,7 +57,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private
FineItemTwoAdapter
mFineItemTwoAdapter
;
//所有沽清数据
// private List<
CurrentSoldout
Food.DatasBean> mCurrentSlodoutFoodList_Full = null;
// private List<
SoldoutCtr
Food.DatasBean> mCurrentSlodoutFoodList_Full = null;
private
List
<
Modifier
>
mFineItemOneList
=
new
ArrayList
<>();
private
List
<
Modifier
>
mFineItemTwoList
=
new
ArrayList
<>();
...
...
@@ -171,7 +171,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private
void
addModifierItem
(
Modifier
datasBean
)
{
int
OR_Qty
=
datasBean
.
getMaxNumber
();
String
OR_Qty
=
datasBean
.
getMaxNumber
();
int
Qty
=
datasBean
.
getNumber
();
boolean
isSoldout
=
false
;
...
...
@@ -219,7 +219,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private
boolean
isStopOpeart
(
Modifier
datasBean
)
{
boolean
isStopOpeart
=
false
;
// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
// for (
CurrentSoldout
Food.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// for (
SoldoutCtr
Food.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
// if (!TextUtils.isEmpty(csf.get_QtyName())) {
// isStopOpeart = true;
...
...
@@ -294,13 +294,13 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
modifier
.
setFid
(
fid
);
}
}
// public void updateCurrentSlodoutFoodList_Full1(List<
CurrentSoldout
Food.DatasBean> event) {
// public void updateCurrentSlodoutFoodList_Full1(List<
SoldoutCtr
Food.DatasBean> event) {
// this.mCurrentSlodoutFoodList_Full = event;
// mFineItemOneAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemOneAdapter.notifyDataSetChanged();
// }
//
// public void updateCurrentSlodoutFoodList_Full2(List<
CurrentSoldout
Food.DatasBean> event) {
// public void updateCurrentSlodoutFoodList_Full2(List<
SoldoutCtr
Food.DatasBean> event) {
// mFineItemTwoAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemTwoAdapter.notifyDataSetChanged();
// }
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
1e1dee0d
...
...
@@ -13,6 +13,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
...
...
@@ -26,6 +28,7 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest
;
...
...
@@ -35,15 +38,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.ZipHelper
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
...
...
@@ -63,9 +68,13 @@ import io.reactivex.disposables.Disposable;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
FOOD_GROUP_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
FOOD_TYPE
;
/**
* ================================================
...
...
@@ -119,6 +128,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//折扣数据
private
List
<
Discount
>
mDiscountList
=
new
ArrayList
<>();
//沽清食品數據
private
List
<
SoldoutCtrFood
>
mSoldoutCtrList
=
new
ArrayList
<>();
private
boolean
RvMealClicked
;
@Inject
...
...
@@ -153,6 +165,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
public
void
initAdapter
()
{
if
(
mSelectMealAdapter
!=
null
)
{
mRootView
.
setSelectFoodAdapter
(
mSelectMealAdapter
);
...
...
@@ -163,7 +176,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// mRootView.setFoodGroupAdapter(mFoodGroupAdapter);
// }
if
(
mFoodAdapter
==
null
)
{
mFoodAdapter
=
new
FoodAdapter
(
IActivity
,
mFoodList
);
mFoodAdapter
=
new
FoodAdapter
(
IActivity
,
mFoodList
,
1
);
mRootView
.
setFoodAdapter
(
mFoodAdapter
);
}
if
(
mComboAdapter
==
null
)
{
...
...
@@ -225,6 +238,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
RvMealClicked
=
false
;
mCurrentOrderDetailBean
=
OrderDetail
.
foodTransOrderDetails
(
datasBean
,
1
);
//更新最大可選數
setFoodMaxQty
(
datasBean
,
true
);
//加載套餐食品
loadComboData
(
mCurrentOrderDetailBean
,
false
);
addFoodItemBefore
(
mCurrentOrderDetailBean
);
updateOrderFoodNumber
();
...
...
@@ -252,8 +268,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean
=
OrderDetail
.
comboTransOrderDetail
(
datasBean
,
id
,
1
,
OrderDetail
.
COMBO_PROP
,
RvMealClicked
);
//添加子项
addComboItem
(
mCurrentOrderDetailBean
);
//更新
折扣
update
Discount
Item
();
//更新
賬單金額
update
OrderMoney
Item
();
}
});
mModifierAdapter
.
setOnItemClickListener
(
new
ModifierAdapter
.
OnItemClickListener
()
{
...
...
@@ -280,8 +296,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// loadModifierData(mCurrentOrderDetailBean.getProductId());
// } else {
addModifierItem
(
datasBean
);
//更新
折扣
update
Discount
Item
();
//更新
賬單金額
update
OrderMoney
Item
();
// }
}
});
...
...
@@ -356,6 +372,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
else
{
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
}
setModifierMaxQty
(
datasBean
,
true
);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
...
...
@@ -400,7 +419,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView
.
setModifierTop
(
0
);
}
isSelectedMeal
=
isSelectedMeal
&&
(
comboItemList
.
size
()
>
0
||
modifierList
.
size
()
>
0
);
//
isSelectedMeal = isSelectedMeal && (comboItemList.size() > 0 || modifierList.size() > 0);
boolean
autoMod
=
food
.
getAutoMod
()
==
1
&&
(
comboItemList
.
size
()
>
0
||
modifierList
.
size
()
>
0
);
if
(
isSelectedMeal
||
autoMod
)
{
mRootView
.
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
,
MealConstant
.
modifier_ViewMode
);
...
...
@@ -412,6 +431,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateModifierData
(
modifierList
);
}
/**
* 裁減掉已超出的細項
*
...
...
@@ -485,7 +505,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
for
(
int
i
=
0
;
i
<
numberAndCutPositionMap
.
size
();
i
++)
{
String
[]
numberAndCutPositionStr
=
numberAndCutPositionMap
.
valueAt
(
i
).
split
(
"_"
);
int
number
=
Integer
.
parseInt
(
numberAndCutPositionStr
[
0
]);
int
maxQty
=
modifier
.
getMaxNumber
(
);
int
maxQty
=
Integer
.
parseInt
(
modifier
.
getMaxNumber
()
);
if
(
numberAndCutPositionStr
.
length
>
1
&&
!
TextUtils
.
isEmpty
(
numberAndCutPositionStr
[
1
]))
{
int
cutPosition
=
Integer
.
parseInt
(
numberAndCutPositionStr
[
1
]);
if
(
maxQty
<=
number
&&
cutPosition
<
mOrderFoodList
.
size
())
{
...
...
@@ -560,6 +580,142 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
-
1
;
}
/**
* 設置食品沽清數據
*/
public
void
setFoodSoldoutCtrData
(){
clearFoodSoldoutCtrData
();
for
(
SoldoutCtrFood
scc
:
mSoldoutCtrList
)
{
for
(
Food
foodGroupBean
:
mFoodGroupList
)
{
if
(
scc
.
getType
()
==
FOOD_GROUP_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodGroupBean
.
getId
()
!=
null
&&
foodGroupBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
String
qty
=
scc
.
getQtyName
();
foodGroupBean
.
setMaxNumber
(
qty
);
foodGroupBean
.
setCurrentMaxNumber
(
qty
);
}
}
for
(
Food
foodBean
:
mFoodList
)
{
if
(
scc
.
getType
()
==
FOOD_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodBean
.
getId
()
!=
null
&&
foodBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
String
qty
=
scc
.
getQtyName
();
foodBean
.
setMaxNumber
(
qty
);
foodBean
.
setCurrentMaxNumber
(
qty
);
}
}
}
IActivity
.
getFoodGroupGridViewAdapter
().
notifyDataSetChanged
();
mFoodAdapter
.
notifyDataSetChanged
();
}
private
void
clearFoodSoldoutCtrData
()
{
for
(
Food
foodGroupBean
:
mFoodGroupList
)
{
foodGroupBean
.
setMaxNumber
(
""
);
foodGroupBean
.
setCurrentMaxNumber
(
""
);
}
for
(
Food
foodBean
:
mFoodList
)
{
foodBean
.
setMaxNumber
(
""
);
foodBean
.
setCurrentMaxNumber
(
""
);
}
}
/**
* 设置当前食品还可最多选几份
*
* @param foodBean
*/
public
boolean
setFoodMaxQty
(
Food
foodBean
,
boolean
isAdd
)
{
int
currentSelectNumber
;
if
(
isAdd
){
currentSelectNumber
=
1
;
}
else
{
currentSelectNumber
=
0
;
}
for
(
int
i
=
0
;
i
<
getNewOrderFoodLists
().
size
();
i
++)
{
OrderDetail
orderFood
=
getNewOrderFoodLists
().
get
(
i
);
if
(
orderFood
.
getProductId
()
==
foodBean
.
getId
())
{
currentSelectNumber
+=
orderFood
.
getNumber
();
}
}
String
User_Qty
=
foodBean
.
getMaxNumber
();
if
(!
User_Qty
.
equals
(
""
)
&&
!
User_Qty
.
equals
(
"售罄"
)
&&
!
User_Qty
.
equals
(
"暫停"
))
{
int
maxQty
=
Integer
.
parseInt
(
User_Qty
);
if
(
maxQty
>
0
)
{
int
Currrent_OR__Qty
=
maxQty
-
currentSelectNumber
;
if
(
Currrent_OR__Qty
<
1
)
{
foodBean
.
setCurrentMaxNumber
(
"售罄"
);
return
false
;
}
else
{
foodBean
.
setCurrentMaxNumber
(
Currrent_OR__Qty
+
""
);
}
}
}
return
true
;
}
public
void
setModifierMaxQty
(
Modifier
modfier
,
boolean
isAdd
)
{
int
currentSelectNumber
;
if
(
isAdd
){
currentSelectNumber
=
1
;
}
else
{
currentSelectNumber
=
0
;
}
for
(
int
i
=
0
;
i
<
getNewOrderFoodLists
().
size
();
i
++)
{
OrderDetail
orderFood
=
getNewOrderFoodLists
().
get
(
i
);
if
(
orderFood
.
getMid
()
==
modfier
.
getMid
())
{
currentSelectNumber
+=
orderFood
.
getNumber
();
}
}
String
User_Qty
=
modfier
.
getMaxNumber
();
if
(!
User_Qty
.
equals
(
""
)
&&
!
User_Qty
.
equals
(
"售罄"
)
&&
!
User_Qty
.
equals
(
"暫停"
))
{
int
maxQty
=
Integer
.
parseInt
(
User_Qty
);
if
(
maxQty
>
0
)
{
int
Currrent_OR__Qty
=
maxQty
-
currentSelectNumber
;
if
(
Currrent_OR__Qty
<
1
)
{
modfier
.
setCurrentMaxNumber
(
"售罄"
);
}
else
{
modfier
.
setCurrentMaxNumber
(
Currrent_OR__Qty
+
""
);
}
}
}
}
public
void
getCurrentSoldoutFood
()
{
long
restaurantId
=
GsaCloudApplication
.
getRestaurantId
(
mApplication
);
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
getCurrentSoldoutFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
()
&&
info
.
getData
()
!=
null
)
{
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
JsonUtils
.
parseArray
(
info
.
getData
(),
SoldoutCtrFood
.
class
);
if
(
soldoutCtrFoods
!=
null
&&
soldoutCtrFoods
.
size
()
>
0
)
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
mSoldoutCtrList
.
addAll
(
soldoutCtrFoods
);
setFoodSoldoutCtrData
();
}
else
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
}
}
else
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
}
}
});
}
public
void
createOrder
()
{
CreateOrderRequest
request
=
getCreateOrderRequest
(
getOrderFoodLists
());
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
...
...
@@ -734,10 +890,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int
type
=
1
;
mModel
.
getRestaurantFoodReason
(
restaurantId
,
type
)
.
subscribeOn
(
Schedulers
.
io
())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
// .doAfterTerminate(() -> mRootView.hideLoading())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
FoodReason
>(
mErrorHandler
)
{
...
...
@@ -781,6 +935,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
dialog
.
dismiss
();
if
(
mCancelFoodDialog
!=
null
)
{
mCancelFoodDialog
.
build
().
dismiss
();
mCancelFoodDialog
=
null
;
}
deleteFood
(
maxNumber
,
deleteNumber
,
reasonId
);
});
...
...
@@ -837,6 +992,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
else
{
int
deletePosition
=
mSelectMealAdapter
.
removeFoodItem
();
mRootView
.
setMealRvScrollToPosition
(
deletePosition
);
//更新最大可選數
if
(
deleteFood
!=
null
)
{
Food
orderBean
=
getOrderByOrderDetail
(
deleteFood
);
if
(
orderBean
!=
null
)
{
setFoodMaxQty
(
orderBean
,
false
);
}
}
}
}
updateOrderFoodNumber
();
...
...
@@ -857,8 +1019,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
if
(
getOrderFoodLists
().
get
(
mSelectMealAdapter
.
getSelect_position
())
!=
null
)
{
mSelectMealAdapter
.
removeChildItem
();
//更新
折扣
update
Discount
Item
();
//更新
賬單金額
update
OrderMoney
Item
();
updateOrderFoodNumber
();
}
...
...
@@ -930,36 +1092,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateOrderFoodNumber
();
}
/**
* 设置当前食品还可最多选几份
*
* @param foodBean
*/
public
boolean
setUserMaxQty
(
Food
foodBean
)
{
int
currentSelectNumber
=
0
;
for
(
int
i
=
0
;
i
<
getOrderFoodLists
().
size
();
i
++)
{
OrderDetail
orderFood
=
getOrderFoodLists
().
get
(
i
);
if
(
orderFood
.
getId
()
==
foodBean
.
getId
())
{
currentSelectNumber
+=
orderFood
.
getNumber
();
}
}
// String User_Qty = foodBean.getOR_Qty();
// if (!User_Qty.equals("") && !User_Qty.equals("售罄") && !User_Qty.equals("暫停")) {
// int maxQty = Integer.parseInt(User_Qty);
// if (maxQty > 0) {
// int Currrent_OR__Qty = maxQty - currentSelectNumber;
// if (Currrent_OR__Qty < 1) {
// foodBean.setCurrrent_OR_Qty("售罄");
// return false;
// } else {
// foodBean.setCurrrent_OR_Qty(Currrent_OR__Qty + "");
// }
// }
// }
return
true
;
}
/**
* 添加食品条件过滤
...
...
@@ -973,13 +1105,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
true
;
}
// String User_Qty = foodBean.getOR_Qty();
// if (!TextUtils.isEmpty(User_Qty)) {
// TitleDialog.showTitledialog(IActivity, foodBean.getName()
// + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停(Comm.pause)"),
// "", LanguageUtils.get_language_system(IActivity, "comm.ok", "ok(comm.ok)"), "", null);
// return false;
// }
String
User_Qty
=
foodBean
.
getCurrentMaxNumber
();
if
(!
TextUtils
.
isEmpty
(
User_Qty
))
{
String
msg
=
"["
+
foodBean
.
getFoodName
()
+
"]"
+
LanguageUtils
.
get_language_system
(
IActivity
,
"Comm.pause"
,
"已暫停"
);
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
msg
,
null
,
null
,
null
,
null
,
null
);
return
false
;
}
return
true
;
}
...
...
@@ -993,35 +1124,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
false
;
}
// String User_Qty = foodBean.getCurrrent_OR_Qty();
//
// if (!TextUtils.isEmpty(User_Qty)) {
// if (User_Qty.equals("售罄") || User_Qty.equals("暫停")) {
// TitleDialog.showTitledialog(IActivity, foodBean.getName()
// + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停(Comm.pause)"),
// "", LanguageUtils.get_language_system(IActivity, "comm.ok", "ok(comm.ok)"), "", null);
// return false;
// }
// }
//
// if (GSAApplication.tableContract.getMember() == null) {
// //当前食品需要会员积分
// if (foodBean.getPointsRedeem() > 0) {
// mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "unused_members_can.not.order.food", "積分食品,未使用會員,不可點選") + "\"" + foodBean.getName() + "\"");
// return false;
// }
// } else {
// if (GSAApplication.tableContract.getMember().getDatas() != null) {
// //如果没有会员,则pointsadd=5是加5分 pointsredeem=5是減5分
// //當一張臺號沒有會員登錄時判定積分為0 不能為負數
// // 此時call pointsredeem=5 的食物 不給過
// //點選pointsadd=5的食物 0+5 是正數 這個給過
// if (foodBean.getPointsRedeem() > 0 && GSAApplication.tableContract.getMember().getDatas().getData().getMemberPoint() < foodBean.getPointsRedeem()) {
// mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "insufficient.points.can.not.selected", "積分食品,會員積分不足,不可點選") + "\"" + foodBean.getName() + "\"");
// return false;
// }
// }
// }
String
User_Qty
=
foodBean
.
getCurrentMaxNumber
();
if
(!
TextUtils
.
isEmpty
(
User_Qty
))
{
if
(
User_Qty
.
equals
(
"售罄"
)
||
User_Qty
.
equals
(
"暫停"
))
{
String
msg
=
"["
+
foodBean
.
getFoodName
()
+
"]"
+
LanguageUtils
.
get_language_system
(
IActivity
,
"Comm.pause"
,
"已暫停"
);
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
msg
,
null
,
null
,
null
,
null
,
null
);
return
false
;
}
}
return
true
;
}
...
...
@@ -1097,6 +1207,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
null
;
}
public
Food
getOrderByOrderDetail
(
OrderDetail
orderFood
)
{
for
(
int
i
=
0
;
i
<
mFoodList
.
size
();
i
++)
{
Food
foodBean
=
mFoodList
.
get
(
i
);
if
(
orderFood
.
getProductId
()
==
foodBean
.
getId
())
{
return
foodBean
;
}
}
return
null
;
}
/**
* 標識食品是否为组合食品
*
...
...
@@ -1240,7 +1360,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
/**
* 全選
*
*/
public
void
setSelectAll
()
{
for
(
OrderDetail
item
:
mOrderFoodList
)
{
...
...
@@ -1256,7 +1375,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
for
(
OrderDetail
item
:
mOrderFoodList
)
{
if
(
item
.
getSelected
()
==
0
)
{
item
.
setSelected
(
1
);
}
else
{
}
else
{
item
.
setSelected
(
0
);
}
}
...
...
@@ -1272,7 +1391,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
item
.
getSelected
()
!=
0
)
{
//往下找
int
nextIndex
=
i
+
1
;
if
(
item
.
getItemType
()
==
1
)
{
if
(
item
.
getItemType
()
==
1
)
{
mOrderFoodList
.
add
(
i
+
1
,
new
OrderDetail
(
modifierItem
));
}
}
...
...
@@ -1314,15 +1433,21 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrderFoodList
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderDetail
1
=
mOrderFoodList
.
get
(
i
);
if
(
orderDetail
1
.
getProp
()
==
OrderDetail
.
DISCOUNT_PROP
)
{
OrderDetail
orderDetail
sBean
=
mOrderFoodList
.
get
(
i
);
if
(
orderDetail
sBean
.
getProp
()
==
OrderDetail
.
DISCOUNT_PROP
)
{
//折上折減去以折扣金額
discount
=
MoneyUtil
.
sub
(
discount
,
orderDetail
1
.
getPrice
());
discount
=
MoneyUtil
.
sub
(
discount
,
orderDetail
sBean
.
getPrice
());
}
else
{
discount
=
MoneyUtil
.
sum
(
discount
,
orderDetail
1
.
getPrice
());
discount
=
MoneyUtil
.
sum
(
discount
,
orderDetail
sBean
.
getPrice
());
}
//參與折扣
orderDetail1
.
setAblediscount
(
1
);
orderDetailsBean
.
setAblediscount
(
1
);
if
(!
orderDetailsBean
.
isNew
())
{
if
(
orderDetailsBean
.
getDiscountStatus
()
==
0
)
{
//此食品新增折扣
orderDetailsBean
.
setDiscountStatus
(
1
);
}
}
}
}
return
discount
;
...
...
@@ -1417,4 +1542,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public
SelectMealAdapter
getSelectMealAdapter
()
{
return
mSelectMealAdapter
;
}
public
List
<
SoldoutCtrFood
>
getSoldoutCtrList
()
{
return
mSoldoutCtrList
;
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
1e1dee0d
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import
android.app.Application
;
import
android.graphics.Color
;
import
android.os.CountDownTimer
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.View
;
import
android.widget.TextView
;
...
...
@@ -121,18 +122,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView
.
setOrderDetailAdapter
(
mOrderMoneyAdapter
);
}
mRootView
.
setFoodAdapter
(
mSelectMealAdapter
);
setPrinterMachineName
();
}
public
void
initItemListener
()
{
mOrderTopFunctionAdapter
.
setOnItemClickListener
(
new
DefaultAdapter
.
OnRecyclerViewItemClickListener
()
{
mOrderTopFunctionAdapter
.
setOnClickListener
(
new
OrderTopFunctionAdapter
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
View
v
iew
,
int
viewType
,
Object
data
,
int
posi
tion
)
{
public
void
onItemClick
(
View
v
,
Function
func
tion
)
{
mRootView
.
recordOperat
(
true
);
if
(
XClickUtil
.
isFastDoubleClick
(
v
iew
,
1000
))
{
if
(
XClickUtil
.
isFastDoubleClick
(
v
,
1000
))
{
return
;
}
Function
function
=
(
Function
)
data
;
switch
(
function
.
getResName
())
{
case
"送單"
:
sendOrder
(
false
);
...
...
@@ -168,6 +169,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
break
;
}
}
@Override
public
boolean
onItemLongClick
(
View
v
,
Function
datasBean
)
{
if
(
datasBean
.
getResName
().
equals
(
"印單"
)
||
datasBean
.
getResName
().
equals
(
"送單"
))
{
PrinterUtils
.
switchPrintMethod
(
IActivity
,
datasBean
,
mOrderTopFunctionAdapter
);
}
return
false
;
}
});
mOrderMoneyAdapter
.
setOnItemClickListener
(
new
OrderMoneyAdapter
.
OnItemClickListener
()
{
...
...
@@ -181,14 +190,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
removeOrderDetailItem
(
position
);
}
});
mOrderTopFunctionAdapter
.
setmOnLongClickListener
((
v
,
position
)
->
{
if
(
mFunctionList
!=
null
)
{
if
(
mFunctionList
.
get
(
position
).
getResName
().
equals
(
"印單"
)
||
mFunctionList
.
get
(
position
).
getResName
().
equals
(
"送單"
))
{
PrinterUtils
.
switchPrintMethod
(
v
.
getContext
());
}
}
return
false
;
});
}
public
void
initTopFunctionData
()
{
...
...
@@ -211,6 +212,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
public
void
setPrinterMachineName
()
{
if
(!
TextUtils
.
isEmpty
(
PrinterUtils
.
printMachineCode
))
{
for
(
Function
function
:
mFunctionList
)
{
if
(
function
.
getResName
().
equals
(
"印單"
))
{
function
.
setLable
(
PrinterUtils
.
printMachineCode
);
mOrderTopFunctionAdapter
.
notifyDataSetChanged
();
break
;
}
}
}
}
protected
void
createOrder
(
boolean
isPrint
)
{
CreateOrderRequest
request
=
getCreateOrderRequest
(
getOrderFoodLists
());
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
...
...
@@ -310,7 +323,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// }
mRootView
.
sendSuccess
();
});
//打印上菜紙
//打印上菜紙
// CC.obtainBuilder("Component.Print")
// .setActionName("printActivity")
// .addParam("NewFoods", newFoods)
...
...
@@ -562,7 +575,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog
.
setOnClickListener
(
new
DiscountDialog
.
Builder
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
Discount
item
,
int
position
)
{
addOrderDiscount
(
item
,
0
,
false
);
addOrderDiscount
(
item
,
0
,
false
);
}
});
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
import
android.app.Application
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.SoldoutRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.CurrentSlodoutFoodAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.Subscriber
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
FOOD_GROUP_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
MODIFIER_TYPE
;
/**
...
...
@@ -51,16 +78,29 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
private
SoldoutCtrlActivity
IActivity
;
private
CurrentSlodoutFoodAdapter
mCurrentSlodoutFoodAdapter
;
private
FoodGroupAdapter
mFoodGroupAdapter
;
private
FoodAdapter
mFoodAdapter
;
private
ComboAdapter
mComboAdapter
;
//所有沽清数据
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
//当前沽清类型
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList
=
new
ArrayList
<>();
//食品数据
private
List
<
Food
>
mFoodGroupList
=
new
ArrayList
<>();
private
List
<
Food
>
mFoodList
=
new
ArrayList
<>();
private
List
<
ComboItem
>
mFoodComboList
=
new
ArrayList
<>();
//细项数据
private
List
<
Modifier
>
mModifierList
=
new
ArrayList
<>();
//记录已沽清选中的Item(默认第一个)
private
int
mCurrentSlodoutFoodPosition_FoodKind
=
0
;
private
int
mCurrentSlodoutFoodPosition_Food
=
0
;
private
int
mCurrentSlodoutFoodPosition_FoodFine
=
0
;
//记录种类上次选中的食品种类
private
int
mFoodKindLastPosition
=
-
1
;
//当前操作类型({0=暂停,1=沽清},2=恢复)
private
int
mOperatTtpe
=
-
1
;
private
boolean
isInsertSoldoutOperat
=
false
;
@Inject
public
SoldoutCtrlPresenter
(
SoldoutCtrlContract
.
Model
model
,
SoldoutCtrlContract
.
View
rootView
)
{
...
...
@@ -78,41 +118,135 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
}
public
void
initAdapter
()
{
// if (mCurrentSlodoutFoodAdapter == null) {
// mCurrentSlodoutFoodAdapter = new CurrentSlodoutFoodAdapter(mApplication, mCurrentSlodoutFoodList, GSAApplication.androidSetting.getFoodlListFontSize());
// mRootView.setCurrentSoldoutFoodAdapter(mCurrentSlodoutFoodAdapter);
// }
if
(
mFoodGroupAdapter
==
null
)
{
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
mApplication
,
mFoodGroupList
);
mRootView
.
setFoodGroupAdapter
(
mFoodGroupAdapter
);
if
(
mCurrentSlodoutFoodAdapter
==
null
)
{
mCurrentSlodoutFoodAdapter
=
new
CurrentSlodoutFoodAdapter
(
mApplication
,
mCurrentSlodoutFoodList
);
mRootView
.
setCurrentSoldoutFoodAdapter
(
mCurrentSlodoutFoodAdapter
);
}
if
(
mFoodAdapter
==
null
)
{
mFoodAdapter
=
new
FoodAdapter
(
mApplication
,
mFoodList
);
mFoodAdapter
=
new
FoodAdapter
(
mApplication
,
mFoodList
,
2
);
mRootView
.
setFoodAdapter
(
mFoodAdapter
);
}
if
(
mComboAdapter
==
null
)
{
mComboAdapter
=
new
ComboAdapter
(
IActivity
,
mFoodComboList
);
mRootView
.
setComboAdapter
(
mComboAdapter
);
}
}
public
void
initFoodListener
()
{
mCurrentSlodoutFoodAdapter
.
setOnItemClickListener
(
new
CurrentSlodoutFoodAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
SoldoutCtrFood
datasBean
,
int
position
)
{
VibratorUtils
.
pressButtonSound
(
mApplication
);
if
(
mCurrentSlodoutFoodList
.
size
()
<
1
)
{
return
;
}
switch
(
mRootView
.
getSoldoutType
())
{
case
FOOD_GROUP_TYPE:
mCurrentSlodoutFoodPosition_FoodKind
=
position
;
break
;
case
FOOD_TYPE:
mCurrentSlodoutFoodPosition_Food
=
position
;
break
;
case
MODIFIER_TYPE:
mCurrentSlodoutFoodPosition_FoodFine
=
position
;
break
;
default
:
break
;
}
mCurrentSlodoutFoodAdapter
.
setSelectPosition
(
position
);
mCurrentSlodoutFoodAdapter
.
notifyDataSetChanged
();
String
msg
=
LanguageUtils
.
get_language_system
(
mApplication
,
"whether.recover"
,
"是否恢復["
)
+
datasBean
.
getName
()
+
"]"
;
Class
[]
parameterTypes
=
{
long
.
class
};
Object
[]
parameters
=
{
datasBean
.
getId
()};
CommonTipDialog
.
showDoubtDialog
(
IActivity
,
msg
,
SoldoutCtrlPresenter
.
class
,
SoldoutCtrlPresenter
.
this
,
"restoreSoldoutCtrl"
,
parameterTypes
,
parameters
);
}
});
mFoodAdapter
.
setOnItemClickListener
(
new
FoodAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
// loadComboData(datasBea
n);
VibratorUtils
.
pressButtonSound
(
mApplicatio
n
);
if
(
mRootView
.
getSoldoutType
()
==
FOOD_TYPE
)
{
if
(!
foodStopOpeart
(
datasBean
))
{
showSoldoutNumberDialog
(
datasBean
.
getId
(),
null
);
}
}
}
});
mComboAdapter
.
setOnItemClickListener
(
new
ComboAdapter
.
OnItemClickListener
()
{
}
@Subscriber
(
tag
=
MealConstant
.
SOLDOUT_MODIFIER
)
private
void
soldoutModifierItem
(
Modifier
datasBean
)
{
if
(!
modifierStopOpeart
(
datasBean
))
{
showSoldoutNumberDialog
(
null
,
datasBean
.
getMid
());
}
}
public
boolean
foodStopOpeart
(
Food
datasBean
)
{
boolean
isStopOpeart
=
false
;
if
(
mCurrentSlodoutFoodList_Full
!=
null
)
{
for
(
SoldoutCtrFood
csf
:
mCurrentSlodoutFoodList_Full
)
{
if
(
csf
.
getFoodId
()
!=
null
&&
datasBean
.
getId
()
!=
null
&&
csf
.
getFoodId
().
equals
(
datasBean
.
getId
())
&&
csf
.
getType
()
==
FOOD_TYPE
)
{
if
(!
TextUtils
.
isEmpty
(
csf
.
getQtyName
()))
{
isStopOpeart
=
true
;
//暂停或者售罄直接提示恢复
String
msg
=
LanguageUtils
.
get_language_system
(
IActivity
,
"whether.recover"
,
"是否恢復["
)
+
datasBean
.
getFoodName
()
+
"]"
;
Class
[]
parameterTypes
=
{
long
.
class
};
Object
[]
parameters
=
{
csf
.
getId
()};
CommonTipDialog
.
showDoubtDialog
(
IActivity
,
msg
,
SoldoutCtrlPresenter
.
class
,
this
,
"restoreSoldoutCtrl"
,
parameterTypes
,
parameters
);
break
;
}
}
}
}
return
isStopOpeart
;
}
private
boolean
modifierStopOpeart
(
Modifier
datasBean
)
{
boolean
isStopOpeart
=
false
;
if
(
mCurrentSlodoutFoodList_Full
!=
null
)
{
for
(
SoldoutCtrFood
csf
:
mCurrentSlodoutFoodList_Full
)
{
if
(
csf
.
getModifierId
()
!=
null
)
{
if
(
csf
.
getModifierId
()
==
datasBean
.
getMid
()
&&
csf
.
getType
()
==
MODIFIER_TYPE
)
{
if
(!
TextUtils
.
isEmpty
(
csf
.
getQtyName
()))
{
isStopOpeart
=
true
;
//暂停或者售罄直接提示恢复
String
msg
=
LanguageUtils
.
get_language_system
(
IActivity
,
"whether.recover"
,
"是否恢復["
)
+
datasBean
.
getModifierName
()
+
"]"
;
Class
[]
parameterTypes
=
{
long
.
class
};
Object
[]
parameters
=
{
csf
.
getId
()};
CommonTipDialog
.
showDoubtDialog
(
IActivity
,
msg
,
SoldoutCtrlPresenter
.
class
,
this
,
"restoreSoldoutCtrl"
,
parameterTypes
,
parameters
);
break
;
}
}
}
}
}
return
isStopOpeart
;
}
public
void
showSoldoutNumberDialog
(
Long
foodId
,
Long
modifierId
)
{
//选择沽清的数量
ChooseNumberDialog
chooseNumberDialog
=
new
ChooseNumberDialog
(
IActivity
);
chooseNumberDialog
.
builder
();
chooseNumberDialog
.
setOnClickListener
(
new
ChooseNumberDialog
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
ComboItem
datasBean
,
int
position
)
{
public
void
onComfirmClick
(
String
number
)
{
insertSoldoutCtrl
(
foodId
,
modifierId
,
Integer
.
parseInt
(
number
),
Integer
.
parseInt
(
number
)
==
0
?
0
:
1
);
}
@Override
public
void
onBackPage
()
{
}
});
chooseNumberDialog
.
setType
(
2
);
chooseNumberDialog
.
setCancelable
(
true
);
chooseNumberDialog
.
show
();
}
public
void
initFoodData
()
{
...
...
@@ -122,8 +256,10 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
//默認選中第一組
mFoodGroupList
.
get
(
0
).
setSelected
(
true
);
IActivity
.
initFoodGroupView
(
mFoodGroupList
);
changedMealByParentId
(
mFoodGroupList
.
get
(
0
).
getId
());
}
getCurrentSoldoutFood
();
}
public
void
changedMealByParentId
(
long
parentId
)
{
...
...
@@ -134,18 +270,6 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
}
}
private
void
loadComboData
(
Food
food
)
{
long
fid
=
food
.
getId
();
//获取套餐细项数据
List
<
ComboItem
>
comboItems
=
mModel
.
queryDB_ComboList
(
fid
);
//更新套餐数据
updateComboData
(
comboItems
);
mRootView
.
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
}
/**
* 更新食品數據
*
...
...
@@ -160,14 +284,268 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
}
/**
* 更新套餐數據
* 設置食品沽清數據
*/
public
void
setFoodSoldoutCtrData
()
{
clearFoodSoldoutCtrData
();
for
(
SoldoutCtrFood
scc
:
mCurrentSlodoutFoodList_Full
)
{
for
(
Food
foodGroupBean
:
mFoodGroupList
)
{
if
(
scc
.
getType
()
==
FOOD_GROUP_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodGroupBean
.
getId
()
!=
null
&&
foodGroupBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
String
qty
=
scc
.
getQtyName
();
foodGroupBean
.
setMaxNumber
(
qty
);
foodGroupBean
.
setCurrentMaxNumber
(
qty
);
}
}
for
(
Food
foodBean
:
mFoodList
)
{
if
(
scc
.
getType
()
==
FOOD_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodBean
.
getId
()
!=
null
&&
foodBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
String
qty
=
scc
.
getQtyName
();
foodBean
.
setMaxNumber
(
qty
);
foodBean
.
setCurrentMaxNumber
(
qty
);
}
}
}
IActivity
.
getFoodGroupAdapter
().
notifyDataSetChanged
();
mFoodAdapter
.
notifyDataSetChanged
();
}
private
void
clearFoodSoldoutCtrData
()
{
for
(
Food
foodGroupBean
:
mFoodGroupList
)
{
foodGroupBean
.
setMaxNumber
(
""
);
foodGroupBean
.
setCurrentMaxNumber
(
""
);
}
for
(
Food
foodBean
:
mFoodList
)
{
foodBean
.
setMaxNumber
(
""
);
foodBean
.
setCurrentMaxNumber
(
""
);
}
}
/**
* 过滤沽清数据
*/
public
void
filterSlodoutData
(
boolean
init
)
{
if
(
mCurrentSlodoutFoodList_Full
==
null
)
return
;
if
(
mCurrentSlodoutFoodList
.
size
()
>
0
)
mCurrentSlodoutFoodList
.
clear
();
switch
(
mRootView
.
getSoldoutType
())
{
case
FOOD_GROUP_TYPE:
for
(
SoldoutCtrFood
scc
:
mCurrentSlodoutFoodList_Full
)
{
if
(
scc
.
getType
()
==
FOOD_GROUP_TYPE
)
{
mCurrentSlodoutFoodList
.
add
(
scc
);
}
}
break
;
case
FOOD_TYPE:
for
(
SoldoutCtrFood
scc
:
mCurrentSlodoutFoodList_Full
)
{
if
(
scc
.
getType
()
==
FOOD_TYPE
)
{
mCurrentSlodoutFoodList
.
add
(
scc
);
}
}
break
;
case
MODIFIER_TYPE:
for
(
SoldoutCtrFood
scc
:
mCurrentSlodoutFoodList_Full
)
{
if
(
scc
.
getType
()
==
MODIFIER_TYPE
)
{
mCurrentSlodoutFoodList
.
add
(
scc
);
}
}
break
;
default
:
break
;
}
if
(!
init
)
{
//沽清完重新获取数据
if
(
isInsertSoldoutOperat
)
{
isInsertSoldoutOperat
=
false
;
mCurrentSlodoutFoodAdapter
.
setSelectPosition
(
mCurrentSlodoutFoodList
.
size
()
-
1
);
mRootView
.
getRecycleCurrentSoldoutFood
().
smoothScrollToPosition
(
mCurrentSlodoutFoodList
.
size
()
-
1
);
}
else
{
switch
(
mRootView
.
getSoldoutType
())
{
case
FOOD_GROUP_TYPE:
if
(
mCurrentSlodoutFoodPosition_FoodKind
!=
0
&&
mCurrentSlodoutFoodList
.
size
()
>
1
)
{
if
(
mOperatTtpe
!=
-
1
)
{
if
(
mOperatTtpe
==
0
||
mOperatTtpe
==
1
)
{
mCurrentSlodoutFoodPosition_FoodKind
=
mCurrentSlodoutFoodList
.
size
()
-
1
;
//暂停、沽清选中当前操作的
}
else
{
mCurrentSlodoutFoodPosition_FoodKind
--;
//恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter
.
setSelectPosition
(
mCurrentSlodoutFoodPosition_FoodKind
);
break
;
case
FOOD_TYPE:
if
(
mCurrentSlodoutFoodPosition_Food
!=
0
&&
mCurrentSlodoutFoodList
.
size
()
>
1
)
{
if
(
mOperatTtpe
!=
-
1
)
{
if
(
mOperatTtpe
==
0
||
mOperatTtpe
==
1
)
{
mCurrentSlodoutFoodPosition_Food
=
mCurrentSlodoutFoodList
.
size
()
-
1
;
//暂停、沽清选中当前操作的
}
else
{
mCurrentSlodoutFoodPosition_Food
--;
//恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter
.
setSelectPosition
(
mCurrentSlodoutFoodPosition_Food
);
break
;
case
MODIFIER_TYPE:
if
(
mCurrentSlodoutFoodPosition_FoodFine
!=
0
&&
mCurrentSlodoutFoodList
.
size
()
>
1
)
{
if
(
mOperatTtpe
!=
-
1
)
{
if
(
mOperatTtpe
==
0
||
mOperatTtpe
==
1
)
{
mCurrentSlodoutFoodPosition_FoodFine
=
mCurrentSlodoutFoodList
.
size
()
-
1
;
//暂停、沽清选中当前操作的
}
else
{
mCurrentSlodoutFoodPosition_FoodFine
--;
//恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter
.
setSelectPosition
(
mCurrentSlodoutFoodPosition_FoodFine
);
break
;
}
}
}
mCurrentSlodoutFoodAdapter
.
notifyDataSetChanged
();
}
public
void
getCurrentSoldoutFood
()
{
long
restaurantId
=
GsaCloudApplication
.
getRestaurantId
(
mApplication
);
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
getCurrentSoldoutFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
()
&&
info
.
getData
()
!=
null
)
{
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
JsonUtils
.
parseArray
(
info
.
getData
(),
SoldoutCtrFood
.
class
);
if
(
soldoutCtrFoods
!=
null
&&
soldoutCtrFoods
.
size
()
>
0
)
{
if
(
mCurrentSlodoutFoodList_Full
.
size
()
>
0
)
{
mCurrentSlodoutFoodList_Full
.
clear
();
}
mCurrentSlodoutFoodList_Full
.
addAll
(
soldoutCtrFoods
);
filterSlodoutData
(
false
);
//更新細項沽清數據
IActivity
.
updateCurrentSlodoutFoodList_Full
(
mCurrentSlodoutFoodList_Full
);
}
else
{
if
(
mCurrentSlodoutFoodList_Full
.
size
()
>
0
)
{
mCurrentSlodoutFoodList_Full
.
clear
();
}
//更新細項沽清數據
IActivity
.
updateCurrentSlodoutFoodList_Full
(
mCurrentSlodoutFoodList_Full
);
if
(
mCurrentSlodoutFoodList
.
size
()
>
0
)
{
mCurrentSlodoutFoodList
.
clear
();
}
mCurrentSlodoutFoodAdapter
.
notifyDataSetChanged
();
}
setFoodSoldoutCtrData
();
}
}
});
}
/**
* 插入沽清控制
*
* @param foodComboList
* @param foodId
* @param modifierId
* @param remainingNumber
* @param operatTtpe 0= 暂停,1=改变食品沽清数量
*/
private
void
updateComboData
(
List
<
ComboItem
>
foodComboList
)
{
mFoodComboList
.
clear
();
mFoodComboList
.
addAll
(
foodComboList
);
mComboAdapter
.
notifyDataSetChanged
();
public
void
insertSoldoutCtrl
(
Long
foodId
,
Long
modifierId
,
int
remainingNumber
,
int
operatTtpe
)
{
SoldoutRequest
.
Insert
request
=
getInsertSoldoutRequest
(
foodId
,
modifierId
,
remainingNumber
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
insertSoldoutCtrl
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录操作类型
mOperatTtpe
=
operatTtpe
;
if
(
mOperatTtpe
==
1
)
{
isInsertSoldoutOperat
=
true
;
}
//重新获取沽清数据
getCurrentSoldoutFood
();
}
else
{
if
(
operatTtpe
==
0
)
mRootView
.
showMessage
(
LanguageUtils
.
get_language_system
(
mApplication
,
"pause.failed"
,
"暫停失敗!"
));
else
mRootView
.
showMessage
(
LanguageUtils
.
get_language_system
(
mApplication
,
"soldout.failure"
,
"沽清失敗!"
));
}
}
});
}
public
void
restoreSoldoutCtrl
(
long
id
)
{
SoldoutRequest
.
update
request
=
getDeleteRequest
(
id
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
restoreSoldoutCtrl
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录恢复操作类型
mOperatTtpe
=
2
;
//重新获取沽清数据
getCurrentSoldoutFood
();
}
else
{
mRootView
.
showMessage
(
LanguageUtils
.
get_language_system
(
mApplication
,
"recovery.failure"
,
"恢復失敗!"
));
}
}
});
}
private
SoldoutRequest
.
Insert
getInsertSoldoutRequest
(
Long
foodId
,
Long
modifierId
,
int
remainingNumber
)
{
SoldoutRequest
.
Insert
request
=
new
SoldoutRequest
.
Insert
();
request
.
setBrandId
(
GsaCloudApplication
.
getBrandId
(
mApplication
));
request
.
setRestaurantId
(
GsaCloudApplication
.
getRestaurantId
(
mApplication
));
if
(
foodId
!=
null
)
{
request
.
setFoodId
(
foodId
);
}
if
(
modifierId
!=
null
)
{
request
.
setModifierId
(
modifierId
);
}
request
.
setType
(
mRootView
.
getSoldoutType
());
request
.
setRemainingNumber
(
remainingNumber
);
request
.
setUid
(
GsaCloudApplication
.
getMemberId
(
mApplication
));
return
request
;
}
private
SoldoutRequest
.
update
getDeleteRequest
(
long
id
)
{
SoldoutRequest
.
update
request
=
new
SoldoutRequest
.
update
();
request
.
setId
(
id
);
request
.
setDeletes
(
1
);
return
request
;
}
public
List
<
SoldoutCtrFood
>
getCurrentSlodoutFoodList_Full
()
{
return
mCurrentSlodoutFoodList_Full
;
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/StateTablePresenter.java
View file @
1e1dee0d
...
...
@@ -65,7 +65,7 @@ public class StateTablePresenter extends BasePresenter<StateTableContract.Model,
super
(
model
,
rootView
);
this
.
IView
=
(
StateTableFragment
)
rootView
;
Activity
activity
=
IView
.
getActivity
();
Activity
activity
=
IView
.
get
Current
Activity
();
if
(
activity
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
activity
;
}
else
if
(
activity
instanceof
OrderContentActivity
)
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
1e1dee0d
...
...
@@ -6,7 +6,6 @@ import android.view.View;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.common.bean.TableBean
;
...
...
@@ -15,13 +14,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.function.FModule
;
import
com.gingersoft.gsa.cloud.function.FunctionManager
;
import
com.gingersoft.gsa.cloud.
function.FunctionModu
le
;
import
com.gingersoft.gsa.cloud.
table.ComponentTab
le
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.TableContract
;
...
...
@@ -151,50 +148,64 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override
public
void
onItemClick
(
View
view
,
int
viewType
,
Object
data
,
int
position
)
{
if
(
mBottomFunctionList
.
get
(
position
).
getResUrl
().
equals
(
FunctionModule
.
Table
.
bottom
[
0
].
getKeyRes
()))
{
//重置
mRootView
.
setCurrentOperatType
(
TableOperatTypeConstant
.
init_table_3
);
return
;
}
if
(
mBottomFunctionList
.
get
(
position
).
getResUrl
().
equals
(
FunctionModule
.
Table
.
bottom
[
1
].
getKeyRes
()))
{
//轉檯
mRootView
.
setCurrentOperatType
(
TableOperatTypeConstant
.
move_table_4
);
return
;
}
if
(
mBottomFunctionList
.
get
(
position
).
getResUrl
().
equals
(
FunctionModule
.
Table
.
bottom
[
2
].
getKeyRes
()))
{
//分檯
return
;
}
if
(
mBottomFunctionList
.
get
(
position
).
getResUrl
().
equals
(
FunctionModule
.
Table
.
bottom
[
3
].
getKeyRes
()))
{
//上菜紙
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"printActivity"
)
.
addParam
(
"type"
,
0
)
.
build
()
.
callAsync
((
cc
,
result
)
->
{
if
(
result
.
isSuccess
())
{
//打印成功
}
});
return
;
switch
(
position
)
{
case
0
:
//重置
mRootView
.
setCurrentOperatType
(
TableOperatTypeConstant
.
init_table_3
);
break
;
case
1
:
//轉檯
mRootView
.
setCurrentOperatType
(
TableOperatTypeConstant
.
move_table_4
);
break
;
case
2
:
//上菜紙
mRootView
.
setCurrentOperatType
(
TableOperatTypeConstant
.
print_parper_2
);
break
;
}
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[0].getKeyRes())) {
// //重置
// mRootView.setCurrentOperatType(TableOperatTypeConstant.init_table_3);
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[1].getKeyRes())) {
// //轉檯
// mRootView.setCurrentOperatType(TableOperatTypeConstant.move_table_4);
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[2].getKeyRes())) {
// //分檯
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[3].getKeyRes())) {
// //上菜紙
// CC.obtainBuilder("Component.Print")
// .setActionName("printActivity")
// .addParam("type", 0)
// .build()
// .callAsync((cc, result) -> {
// if (result.isSuccess()) {
// //打印成功
// }
// });
// return;
// }
}
});
}
public
void
initBottomFunctionItem
()
{
List
<
Function
>
functions
=
FunctionManager
.
getDefault
().
getFunctionByResModule
(
IActivity
,
FunctionModule
.
Table
.
class
,
"bottom"
);
for
(
int
i
=
0
;
i
<
functions
.
size
();
i
++)
{
functions
.
get
(
i
).
setTextSize
(
ArmsUtils
.
getDimens
(
IActivity
,
R
.
dimen
.
sp_14
));
functions
.
get
(
i
).
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
functions
.
get
(
i
).
setIconRes
(
FunctionModule
.
Table
.
bottom
[
i
].
getOpenIconRes
());
}
mBottomFunctionList
.
addAll
(
functions
);
//
mBottomFunctionList.add(new Function((long) 1, "重置檯號", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_init));
//
mBottomFunctionList.add(new Function((long) 2, "轉檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_move));
// List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, ComponentTable.Function.class, ComponentTable.Function.bottom,
"bottom");
//
for (int i = 0; i < functions.size(); i++) {
//
functions.get(i).setTextSize(ArmsUtils.getDimens(IActivity, R.dimen.sp_14));
//
functions.get(i).setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
// functions.get(i).setIconRes(ComponentTable.Function
.bottom[i].getOpenIconRes());
//
}
//
mBottomFunctionList.addAll(functions);
mBottomFunctionList
.
add
(
new
Function
((
long
)
1
,
"重置檯號"
,
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
),
ArmsUtils
.
getDimens
(
IActivity
,
R
.
dimen
.
sp_14
),
R
.
mipmap
.
table_init
));
mBottomFunctionList
.
add
(
new
Function
((
long
)
2
,
"轉檯"
,
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
),
ArmsUtils
.
getDimens
(
IActivity
,
R
.
dimen
.
sp_14
),
R
.
mipmap
.
table_move
));
// mBottomFunctionList.add(new Function((long) 3, "分檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_splite));
// mBottomFunctionList.add(new Function((long) 4, "skyorder", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_skyorder));
// mBottomFunctionList.add(new Function((long) 5, "上菜紙", ArmsUtils.getColor(IActivity,R.color.theme_black), ArmsUtils.getDimens(IActivity,
R.dimen.sp_14), R.mipmap.table_paper));
mBottomFunctionList
.
add
(
new
Function
((
long
)
5
,
"上菜紙"
,
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
),
ArmsUtils
.
getDimens
(
IActivity
,
R
.
dimen
.
sp_14
),
R
.
mipmap
.
table_paper
));
}
public
void
getTables
(
boolean
show
,
RefreshLayout
refreshLayout
)
{
...
...
@@ -326,7 +337,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
OpenTableManage
.
getDefault
().
setTableBean
(
openTableBean
);
mRootView
.
startMealStandActivity
();
}
else
{
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
respose
.
getErrMsg
(),
null
,
null
,
null
,
null
,
null
);
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
respose
.
getErrMsg
(),
null
,
null
,
null
,
null
,
null
);
}
}
});
...
...
@@ -456,7 +467,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
{
if
(
showMessage
)
if
(
showMessage
)
mRootView
.
hideLoading
();
})
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
...
...
@@ -487,6 +498,41 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
});
}
public
void
loadOrderList
(
long
orderId
,
boolean
isPrintParper
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"orderId"
,
orderId
+
""
)
.
build
();
mModel
.
initTable
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseRespose
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
@NonNull
BaseRespose
respose
)
{
if
(
respose
.
isSuccess
())
{
if
(
isPrintParper
)
{
//打印上菜紙
startPrintParper
();
}
}
else
{
mRootView
.
showMessage
(
respose
.
getErrMsg
());
}
}
});
}
private
void
startPrintParper
()
{
}
/**
* 根据操作类型过滤一遍餐台
*/
...
...
@@ -541,7 +587,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
break
;
case
TableOperatTypeConstant
.
print_parper_2
:
dialogBuilder
.
setMessage
(
"是否確認打印"
);
break
;
case
TableOperatTypeConstant
.
init_table_3
:
dialogBuilder
.
setMessage
(
"是否確認重置"
+
dataBean
.
getTableName
()
+
"號檯?"
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
View file @
1e1dee0d
...
...
@@ -68,7 +68,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
public
AllOrderPresenter
(
AllOrderContract
.
Model
model
,
AllOrderContract
.
View
rootView
)
{
super
(
model
,
rootView
);
AllOrderFragment
allOrderFragment
=
(
AllOrderFragment
)
rootView
;
this
.
IActivity
=
(
OrderCenterActivity
)
allOrderFragment
.
getActivity
();
this
.
IActivity
=
(
OrderCenterActivity
)
allOrderFragment
.
get
Current
Activity
();
}
@Override
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
1e1dee0d
...
...
@@ -51,12 +51,13 @@ import com.gingersoft.gsa.cloud.constans.GoldConstants;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.
table.mvp.
ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
...
...
@@ -258,15 +259,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
EventBus
.
getDefault
().
registerSticky
(
this
);
//清除Greendao食品緩存
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
this
);
foodDaoUtils
.
detachAll
();
FoodComboDaoUtils
foodComboDaoUtils
=
new
FoodComboDaoUtils
(
this
);
foodComboDaoUtils
.
detachAll
();
FoodModifierDaoUtils
foodModifierDaoUtils
=
new
FoodModifierDaoUtils
(
this
);
foodModifierDaoUtils
.
detachAll
();
ComboItemDaoUtils
comboItemDaoUtils
=
new
ComboItemDaoUtils
(
this
);
comboItemDaoUtils
.
detachAll
();
super
.
onCreate
(
savedInstanceState
);
}
...
...
@@ -277,6 +269,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initViewMap
();
//初始化Plu模式
setPluMode
();
...
...
@@ -284,7 +277,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mPresenter
.
initItemClickListener
();
//初始化默认食品组
mPresenter
.
initMealData
();
setViewDrawableColor
();
//搜索
keyView
.
setOnConfirmCallBack
(
inputText
->
{
if
(
TextUtils
.
isEmpty
(
inputText
))
...
...
@@ -295,6 +287,9 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
//根据倒计时时间自动退出当前页面
initAutoQuit
();
}
mPresenter
.
getCurrentSoldoutFood
();
setViewDrawableColor
();
initTableDetail
();
}
...
...
@@ -333,7 +328,8 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mLayoutManager
=
new
PagerGridLayoutManager
(
Rows
,
GoldConstants
.
foodGriupColumns
,
PagerGridLayoutManager
.
HORIZONTAL
);
// 水平分页布局管理器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
rv_food_group
.
setLayoutManager
(
mLayoutManager
);
// 设置滚动辅助工具
...
...
@@ -344,26 +340,18 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
PagerConfig
.
setShowLog
(
true
);
// 使用原生的 Adapter 即可
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
);
mFoodGroupAdapter
.
registerAdapterDataObserver
(
new
RecyclerView
.
AdapterDataObserver
()
{
@Override
public
void
onChanged
()
{
super
.
onChanged
();
int
count
=
mFoodGroupAdapter
.
getItemCount
();
}
});
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
,
1
);
rv_food_group
.
setAdapter
(
mFoodGroupAdapter
);
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
recordOperat
(
true
);
if
(!
foodGroupConditionFilter
(
datasBean
,
false
))
{
if
(!
mPresenter
.
foodGroupConditionFilter
(
datasBean
,
false
))
{
return
;
}
mPresenter
.
setRvMealClicked
(
false
);
mPresenter
.
changedMealByParentId
(
datasBean
.
getId
());
mPresenter
.
setFoodSoldoutCtrData
();
}
});
...
...
@@ -399,27 +387,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
}
}
/**
* 添加食品条件过滤
* 1:售罄、最大选择数
*/
public
boolean
foodGroupConditionFilter
(
Food
foodBean
,
boolean
init
)
{
if
(
init
)
{
return
true
;
}
long
Invisible
=
foodBean
.
getInvisible
();
if
(
Invisible
==
2
)
{
new
QMUITipDialog
.
Builder
(
this
)
.
setTipWord
(
"已售罄(Comm.sold)"
)
.
create
(
true
);
return
false
;
}
return
true
;
}
@Override
public
boolean
isInitFineItemLayout
()
{
return
initFineItemLayout
;
...
...
@@ -444,7 +411,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
String
[]
tabTitles
=
new
String
[
3
];
tabTitles
[
0
]
=
"口味"
;
tabTitles
[
1
]
=
"特別信息"
;
// tabTitles[2] = "多選";
BaseFragmentAdapter
adapter
=
new
BaseFragmentAdapter
(
this
,
fm
,
fragmentList
,
Arrays
.
asList
(
tabTitles
));
pager_fine
.
setAdapter
(
adapter
);
...
...
@@ -758,7 +724,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public
void
setFoodGroupAdapter
(
DefaultAdapter
adapter
)
{
rv_food_group
.
addItemDecoration
(
new
GridDividerItemDecoration
(
QMUIDisplayHelper
.
dpToPx
(
1
),
ArmsUtils
.
getColor
(
getActivity
()
,
R
.
color
.
black
)));
rv_food_group
.
addItemDecoration
(
new
GridDividerItemDecoration
(
QMUIDisplayHelper
.
dpToPx
(
1
),
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
black
)));
rv_food_group
.
setAdapter
(
adapter
);
}
...
...
@@ -1023,30 +989,36 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
initFineItemTabBarViewPage
();
modMsgFineItemFragment
.
onModMsgMidEvent
(
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemAllFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemAllFragment_onMidEvent");
setFineItemSlodoutListFull
(
mPresenter
.
getSoldoutCtrList
());
modMsgFineItemFragment
.
onModMsgMidEvent
(
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
());
modSasteFineItemFragment
.
onModSasteEvent
(
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemKindFragment_onMidEvent");
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
}
else
{
modMsgFineItemFragment
.
onModMsgMidEvent
(
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
());
modSasteFineItemFragment
.
onModSasteEvent
(
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
());
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
setCurrentFinePage
();
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
,
MealConstant
.
fine_tabs_ViewMode
);
}
}
/**
* 設置細項沽清數據
* @param slodoutListFull
*/
public
void
setFineItemSlodoutListFull
(
List
<
SoldoutCtrFood
>
slodoutListFull
)
{
if
(
modMsgFineItemFragment
!=
null
)
{
modMsgFineItemFragment
.
updateCurrentSlodoutFoodList_Full
(
slodoutListFull
);
}
if
(
modSasteFineItemFragment
!=
null
)
{
modSasteFineItemFragment
.
updateCurrentSlodoutFoodList_Full
(
slodoutListFull
);
}
}
private
void
initViewMap
()
{
map
.
put
(
MealConstant
.
food_group_ViewMode
,
ll_food_group
);
map
.
put
(
MealConstant
.
food_ViewMode
,
rv_food
);
...
...
@@ -1059,7 +1031,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
// @SwitchPrintMethod
btn_send_order
.
setOnLongClickListener
(
v
->
{
PrinterUtils
.
switchPrintMethod
(
mContext
);
PrinterUtils
.
switchPrintMethod
(
mContext
,
null
,
null
);
return
false
;
});
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
1e1dee0d
...
...
@@ -248,7 +248,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
if
(
difference
==
0
)
tv_difference_money
.
setText
(
"$"
+
Math
.
abs
(
difference
));
else
tv_difference_money
.
setText
(
"
$-
"
+
Math
.
abs
(
difference
));
tv_difference_money
.
setText
(
"
-$
"
+
Math
.
abs
(
difference
));
}
}
...
...
@@ -291,7 +291,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@OnLongClick
({
R2
.
id
.
btn_sure_pay
})
public
boolean
onLongClick
(
View
v
)
{
if
(
v
.
getId
()
==
R
.
id
.
btn_sure_pay
)
{
PrinterUtils
.
switchPrintMethod
(
mContext
);
PrinterUtils
.
switchPrintMethod
(
mContext
,
null
,
null
);
}
return
false
;
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
View file @
1e1dee0d
...
...
@@ -4,6 +4,7 @@ import android.app.AlertDialog;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -14,6 +15,7 @@ import android.widget.TextView;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
...
...
@@ -26,12 +28,14 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerSoldoutCtrlComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.
table.mvp.
ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.base.DefaultAdapter
;
...
...
@@ -118,8 +122,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
private
int
mCurrentViewMode
;
private
String
[]
mTypeItem
=
{
"沽清控制-食品組"
,
"沽清控制-食品"
,
"沽清控制-細項"
};
// 0-食品組 1--食品 2--細項 默認為食品
private
int
mSoldoutType
=
1
;
/**
* 1-食品組
* 2-食品
* 3-細項
* 默認為食品
*/
private
int
mSoldoutType
=
2
;
public
static
final
int
FOOD_GROUP_TYPE
=
1
;
public
static
final
int
FOOD_TYPE
=
2
;
public
static
final
int
MODIFIER_TYPE
=
3
;
private
FineItemAllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
String
[]
mFineTabTitles
=
{
"口味"
,
"特別信息"
};
...
...
@@ -150,15 +162,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
//清除Greendao食品緩存
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
this
);
foodDaoUtils
.
detachAll
();
FoodComboDaoUtils
foodComboDaoUtils
=
new
FoodComboDaoUtils
(
this
);
foodComboDaoUtils
.
detachAll
();
FoodModifierDaoUtils
foodModifierDaoUtils
=
new
FoodModifierDaoUtils
(
this
);
foodModifierDaoUtils
.
detachAll
();
ComboItemDaoUtils
comboItemDaoUtils
=
new
ComboItemDaoUtils
(
this
);
comboItemDaoUtils
.
detachAll
();
super
.
onCreate
(
savedInstanceState
);
}
...
...
@@ -201,8 +204,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override
public
void
initLanguage
()
{
tv_sold_hmmc
.
setText
(
LanguageUtils
.
get_language_system
(
this
,
"soldout_head_name"
,
"項目名稱"
));
tv_sold_hmsl
.
setText
(
LanguageUtils
.
get_language_system
(
this
,
"soldout_head_number"
,
"項目名稱"
));
tv_sold_hmsl
.
setText
(
LanguageUtils
.
get_language_system
(
this
,
"soldout_head_number"
,
"數量"
));
}
@Override
...
...
@@ -214,10 +216,10 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
}
private
void
initRecyclerHeight
()
{
//
int screenHeidth = ArmsUtils.getScreenHeidth(this);
//
LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams();
//
para1.height = screenHeidth * 33 / 100;
//
recycle_current_soldout_food.setLayoutParams(para1);
int
screenHeidth
=
ArmsUtils
.
getScreenHeidth
(
this
);
LinearLayout
.
LayoutParams
para1
=
(
LinearLayout
.
LayoutParams
)
recycle_current_soldout_food
.
getLayoutParams
();
para1
.
height
=
screenHeidth
*
33
/
100
;
recycle_current_soldout_food
.
setLayoutParams
(
para1
);
mParentRowCount
=
GsaCloudApplication
.
androidSetting
.
getFoodTypeRow
();
mParentColCount
=
GsaCloudApplication
.
androidSetting
.
getFoodTypeCol
();
...
...
@@ -236,7 +238,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
mLayoutManager
=
new
PagerGridLayoutManager
(
Rows
,
GoldConstants
.
foodGriupColumns
,
PagerGridLayoutManager
.
HORIZONTAL
);
// 水平分页布局管理器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
recycle_food_group
.
setLayoutManager
(
mLayoutManager
);
// 设置滚动辅助工具
...
...
@@ -244,7 +247,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
pageSnapHelper
.
attachToRecyclerView
(
recycle_food_group
);
// 使用原生的 Adapter 即可
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
);
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
,
2
);
mFoodGroupAdapter
.
registerAdapterDataObserver
(
new
RecyclerView
.
AdapterDataObserver
()
{
@Override
public
void
onChanged
()
{
...
...
@@ -258,12 +261,37 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
// recordOperat(true);
// if (!foodGroupConditionFilter(datasBean, false)) {
// return;
// }
// mPresenter.setRvMealClicked(false);
mPresenter
.
changedMealByParentId
(
datasBean
.
getId
());
VibratorUtils
.
pressButtonSound
(
SoldoutCtrlActivity
.
this
);
if
(
mSoldoutType
==
FOOD_GROUP_TYPE
)
{
//操作類型(暂停操作、恢复操作)
boolean
isStopOpeart
=
false
;
for
(
SoldoutCtrFood
csf
:
mPresenter
.
getCurrentSlodoutFoodList_Full
())
{
if
(
csf
.
getType
()
==
FOOD_GROUP_TYPE
&&
csf
.
getFoodId
()
!=
null
&&
datasBean
.
getId
()
!=
null
&&
csf
.
getFoodId
().
equals
(
datasBean
.
getId
()))
{
if
(!
TextUtils
.
isEmpty
(
csf
.
getQtyName
()))
{
isStopOpeart
=
true
;
//暂停或者售罄直接提示恢复
String
msg
=
LanguageUtils
.
get_language_system
(
SoldoutCtrlActivity
.
this
,
"whether.recover"
,
"是否恢復\""
)
+
datasBean
.
getFoodName
()
+
"\"?"
;
Class
[]
parameterTypes
=
{
long
.
class
};
Object
[]
parameters
=
{
csf
.
getId
()};
CommonTipDialog
.
showDoubtDialog
(
SoldoutCtrlActivity
.
this
,
msg
,
SoldoutCtrlPresenter
.
class
,
mPresenter
,
"restoreSoldoutCtrl"
,
parameterTypes
,
parameters
);
break
;
}
}
}
if
(!
isStopOpeart
)
{
String
msg
=
LanguageUtils
.
get_language_system
(
SoldoutCtrlActivity
.
this
,
"whether.suspend.group"
,
"是否暫停組別?"
)
+
datasBean
.
getFoodName
()
+
"\"?"
;
Class
[]
parameterTypes
=
{
Long
.
class
,
Long
.
class
,
int
.
class
,
int
.
class
};
Object
[]
parameters
=
{
datasBean
.
getId
(),
null
,
0
,
0
};
CommonTipDialog
.
showDoubtDialog
(
SoldoutCtrlActivity
.
this
,
msg
,
SoldoutCtrlPresenter
.
class
,
mPresenter
,
"insertSoldoutCtrl"
,
parameterTypes
,
parameters
);
}
}
else
{
mPresenter
.
changedMealByParentId
(
datasBean
.
getId
());
mPresenter
.
setFoodSoldoutCtrData
();
}
}
});
...
...
@@ -304,8 +332,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
tv_return
)
{
if
(
mCurrentViewMode
==
MealConstant
.
fine_ViewMode
)
{
mSoldoutType
=
1
;
tv_soldout
.
setText
(
mTypeItem
[
mSoldoutType
]);
mSoldoutType
=
FOOD_TYPE
;
tv_soldout
.
setText
(
mTypeItem
[
1
]);
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
else
{
killMyself
();
...
...
@@ -323,20 +351,20 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
private
void
showClearControlDialog
()
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
);
builder
.
setTitle
(
"沽清控制"
);
builder
.
setSingleChoiceItems
(
mTypeItem
,
mSoldoutType
,
new
DialogInterface
.
OnClickListener
()
{
builder
.
setSingleChoiceItems
(
mTypeItem
,
(
mSoldoutType
-
1
)
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
mSoldoutType
=
which
;
tv_soldout
.
setText
(
mTypeItem
[
mSoldoutType
])
;
tv_soldout
.
setText
(
mTypeItem
[
which
])
;
mSoldoutType
=
which
+
1
;
//选择食品组需要收起食品、细项显示数据
switch
(
mSoldoutType
)
{
case
0
:
case
FOOD_GROUP_TYPE
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
);
break
;
case
1
:
case
FOOD_TYPE
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
break
;
case
2
:
case
MODIFIER_TYPE
:
if
(!
mInitModData
)
{
modSasteFineItemFragment
.
onModSasteEvent
(
0
);
modMsgFineItemFragment
.
onModMsgMidEvent
(
0
);
...
...
@@ -345,6 +373,9 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
);
break
;
}
mPresenter
.
filterSlodoutData
(
true
);
dialog
.
dismiss
();
}
});
...
...
@@ -383,7 +414,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override
public
void
setCurrentSoldoutFoodAdapter
(
DefaultAdapter
adapter
)
{
initCurrentSoldoutFoodLayoutManager
();
recycle_current_soldout_food
.
setAdapter
(
adapter
);
}
...
...
@@ -402,13 +432,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
recycle_combo
.
setAdapter
(
adapter
);
}
private
GridLayoutManager
foodRecycleLayoutManager
,
comboRecycleLayoutManager
;
public
void
initCurrentSoldoutFoodLayoutManager
()
{
RecyclerViewNoBugLinearLayoutManager
selectFoodRecycleLayoutManager
=
new
RecyclerViewNoBugLinearLayoutManager
(
this
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_current_soldout_food
.
setLayoutManager
(
selectFoodRecycleLayoutManager
);
// rv_select_meal.setItemAnimator(new DefaultItemAnimator());
}
private
GridLayoutManager
foodRecycleLayoutManager
;
public
void
initFoodLayoutManager
(
int
orientation
)
{
foodRecycleLayoutManager
=
new
GridLayoutManager
(
this
,
1
,
orientation
,
false
);
...
...
@@ -507,7 +531,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
}
}
private
void
initTabAndPager
()
{
QMUIFragmentPagerAdapter
pagerAdapter
=
new
QMUIFragmentPagerAdapter
(
getSupportFragmentManager
())
{
...
...
@@ -587,4 +610,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
});
}
public
void
updateCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
currentSlodoutFoodListc_Full
)
{
if
(
modMsgFineItemFragment
!=
null
)
{
modMsgFineItemFragment
.
updateCurrentSlodoutFoodList_Full
(
currentSlodoutFoodListc_Full
);
}
if
(
modSasteFineItemFragment
!=
null
)
{
modSasteFineItemFragment
.
updateCurrentSlodoutFoodList_Full
(
currentSlodoutFoodListc_Full
);
}
}
public
FoodGroupAdapter
getFoodGroupAdapter
()
{
return
mFoodGroupAdapter
;
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
1e1dee0d
...
...
@@ -148,11 +148,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
tv_show_popup
.
setWidth
(
ArmsUtils
.
getScreenWidth
(
this
)
/
3
);
// Drawable mNormalIconDrawable = ArmsUtils.getDrawablebyResource(this, R.drawable.meal_change_language_index_1);
// QMUIDrawableHelper.setDrawableTintColor(mNormalIconDrawable, ArmsUtils.getColor(mContext,R.color.theme_grey_color));
// mNormalIconDrawable.invalidateSelf();
// iv_tab_icon.setImageDrawable(mNormalIconDrawable);
initTabAndPager
();
mPresenter
.
initBottomFunction
();
getTables
(
true
,
null
);
...
...
@@ -289,7 +284,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break
;
case
TableOperatTypeConstant
.
print_parper_2
:
setOperatContentText
(
dataBean
.
getTableName
());
mPresenter
.
showOperatTipDialog
(
dataBean
);
break
;
case
TableOperatTypeConstant
.
init_table_3
:
setOperatContentText
(
dataBean
.
getTableName
());
...
...
@@ -337,7 +333,9 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break
;
case
TableOperatTypeConstant
.
print_parper_2
:
tv_operat_hint
.
setText
(
"請選擇檯號"
);
tv_operat_content
.
setText
(
""
);
mTopBar
.
setTitle
(
"上菜紙"
);
break
;
case
TableOperatTypeConstant
.
init_table_3
:
tv_operat_hint
.
setText
(
"請選擇需要重置的檯號"
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/BillMoneyAdapter.java
View file @
1e1dee0d
...
...
@@ -33,7 +33,12 @@ public class BillMoneyAdapter extends BaseQuickAdapter<PayMethod, BaseViewHolder
TextView
tv_bill_money
=
helper
.
getView
(
R
.
id
.
tv_bill_money
);
tv_bill_method_name
.
setText
(
datasBean
.
getPayName
());
tv_bill_money
.
setText
(
cashStr
+
datasBean
.
getPayMoney
());
if
(
datasBean
.
getPayMoney
()
<
0
)
{
tv_bill_money
.
setText
(
"-"
+
cashStr
+
Math
.
abs
(
datasBean
.
getPayMoney
()));
}
else
{
tv_bill_money
.
setText
(
cashStr
+
datasBean
.
getPayMoney
());
}
tv_bill_method_name
.
setTextSize
(
datasBean
.
getPayMoneySize
());
tv_bill_money
.
setTextSize
(
datasBean
.
getPayMoneySize
());
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/CurrentSlodoutFoodAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.qmui.arch.QMUIActivity
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
java.lang.reflect.InvocationHandler
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Proxy
;
import
java.util.List
;
import
butterknife.BindView
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -15,173 +31,162 @@ import java.util.List;
* 描述:
*/
public
class
CurrentSlodoutFoodAdapter
extends
DefaultAdapter
<
Object
>
{
public
class
CurrentSlodoutFoodAdapter
extends
DefaultAdapter
<
SoldoutCtrFood
>
{
private
Context
mContext
;
private
View
convertView
;
//字体大小
private
int
mFoodlListFontSize
;
private
int
select_position
=
0
;
public
CurrentSlodoutFoodAdapter
(
List
<
Object
>
infos
)
{
public
CurrentSlodoutFoodAdapter
(
Context
context
,
List
<
SoldoutCtrFood
>
infos
)
{
super
(
infos
);
this
.
mContext
=
context
;
this
.
mFoodlListFontSize
=
GsaCloudApplication
.
androidSetting
.
getFoodlListFontSize
();
// Object mInstanceProxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[]{QMUIActivity.class}, new InvocationHandler() {
//
// @Override
// public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// // 当执行的方法是 startActivity 时作处理
// if ("startActivity".equals(method.getName())) {
// int index = 0;
// // 获取 Intent 参数在 args 数组中的index值
// for (int i = 0; i < args.length; i++) {
// if (args[i] instanceof Intent) {
// index = i;
// break;
// }
// }
// // 得到原始的 Intent 对象 -- 唐僧(插件)的Intent
// Intent intent = (Intent) args[index];
//
// // 生成代理proxyIntent -- 孙悟空(代理)的Intent
// Intent proxyIntent = new Intent();
// proxyIntent.setClassName("com.enjoy.pluginactivity", ProxyActivity.class.getName());
// // 保存原始的Intent对象
// proxyIntent.putExtra(TARGET_INTENT, intent);
// // 使用proxyIntent替换数组中的Intent
// args[index] = proxyIntent;
// }
// return method.invoke(mInstance, args);
// }
// });
}
public
void
setSelectPosition
(
int
select_position
)
{
this
.
select_position
=
select_position
;
set_SelectPosition
();
}
private
void
set_SelectPosition
()
{
//查找自己的
if
(
select_position
==
-
1
||
mInfos
==
null
||
mInfos
.
size
()
<
1
)
{
return
;
}
List
<
SoldoutCtrFood
>
datasBeans
=
mInfos
;
for
(
int
i
=
0
;
i
<
datasBeans
.
size
();
i
++)
{
if
(
i
==
select_position
)
{
datasBeans
.
get
(
i
).
setSelected
(
1
);
}
else
{
datasBeans
.
get
(
i
).
setSelected
(
0
);
}
}
}
@Override
public
BaseHolder
<
Object
>
getHolder
(
View
v
,
int
viewType
)
{
return
null
;
public
int
getItemCount
()
{
return
mInfos
.
size
();
}
@Override
public
BaseHolder
<
SoldoutCtrFood
>
getHolder
(
View
v
,
int
viewType
)
{
convertView
=
v
;
return
new
CurrentSlodoutItemHolder
(
v
);
}
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
0
;
return
R
.
layout
.
meal_item_current_soldout_food
;
}
//
// private Context mContext;
// private View convertView;
// //字体大小
// private int mFoodlListFontSize;
//
// private int select_position = 0;
//
// public void setSelectPosition(int select_position) {
// this.select_position = select_position;
// set_SelectPosition();
// }
//
// private void set_SelectPosition() {
//
// //查找自己的
// if (select_position == -1 || mInfos == null || mInfos.size() < 1) {
// return;
// }
//
// List<CurrentSoldoutFood.DatasBean> datasBeans = mInfos;
//
// for (int i = 0; i < datasBeans.size(); i++) {
// if (i == select_position) {
// datasBeans.get(i).setSelected(2);
// } else {
// datasBeans.get(i).setSelected(0);
// }
// }
// }
//
// public CurrentSlodoutFoodAdapter(Context context, List<CurrentSoldoutFood.DatasBean> infos, int foodlListFontSize) {
// super(infos);
// this.mContext = context;
// this.mFoodlListFontSize = foodlListFontSize;
// }
//
// @Override
// public int getItemCount() {
// return mInfos.size();
// }
//
// @Override
// public BaseHolder<CurrentSoldoutFood.DatasBean> getHolder(View v, int viewType) {
// convertView = v;
// return new DateTimeItemHolder(v);
// }
//
// @Override
// public int getLayoutId(int viewType) {
// return R.layout.item_current_soldout_food;
// }
//
// class DateTimeItemHolder extends BaseHolder<CurrentSoldoutFood.DatasBean> {
//
// @BindView(R.id.rl_select)
// RelativeLayout rl_select;
// @BindView(R.id.tv_number)
// TextView tv_number;
// @BindView(R.id.tv_name)
// TextView tv_name;
// @BindView(R.id.tv_value)
// TextView tv_value;
//
// public DateTimeItemHolder(View itemView) {
// super(itemView);
// }
//
// @Override
// public void setData(CurrentSoldoutFood.DatasBean datasBean, int position) {
//
// String name = datasBean.getName();
// if (name != null) {
// tv_name.setText(name);
// }
//
// if (datasBean.getItemdesc1() == null || datasBean.getItemdesc1().equals("0")) {
// tv_number.setText("");
// } else {
// tv_number.setText("1");
// }
//
// String qtyValue = String.valueOf(datasBean.getOR_Qty());
//
// if (datasBean.getOR_Qty() == 0) {
// qtyValue = "暫停";
// } else {
// if (datasBean.getOR_Qty() - datasBean.getUsed_Qty() == 0) {
// qtyValue = "售罄";
// }
// }
//
// tv_value.setText(qtyValue);
//
// //显示
// convertView.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// int selected = datasBean.getSelected();
// switch (selected) {
// case 0://未选 中。黑底白字
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break;
// case 1://选中,第一层选中.
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.theme_color));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break;
// case 2://选中,作为主体被选中
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.colorAccent));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break;
// }
//
// //设置字体
// tv_value.setTextSize(mFoodlListFontSize);
// tv_name.setTextSize(mFoodlListFontSize);
// tv_number.setTextSize(mFoodlListFontSize);
//
// rl_select.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (mOnItemClickListener != null)
// mOnItemClickListener.onItemClick(datasBean, position);
// }
// });
// }
// }
//
//
// public int getSelectPosition() {
// return this.select_position;
// }
//
// private OnItemClickListener mOnItemClickListener;
//
// public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
// mOnItemClickListener = onItemClickListener;
// }
//
// public interface OnItemClickListener {
//
// void onItemClick(CurrentSoldoutFood.DatasBean datasBean, int position);
//
// }
//
class
CurrentSlodoutItemHolder
extends
BaseHolder
<
SoldoutCtrFood
>
{
@BindView
(
R2
.
id
.
rl_select
)
RelativeLayout
rl_select
;
@BindView
(
R2
.
id
.
tv_number
)
TextView
tv_number
;
@BindView
(
R2
.
id
.
tv_name
)
TextView
tv_name
;
@BindView
(
R2
.
id
.
tv_value
)
TextView
tv_value
;
public
CurrentSlodoutItemHolder
(
View
itemView
)
{
super
(
itemView
);
}
@Override
public
void
setData
(
SoldoutCtrFood
datasBean
,
int
position
)
{
String
name
=
datasBean
.
getName
();
if
(!
TextUtils
.
isEmpty
(
name
))
{
tv_name
.
setText
(
name
);
}
else
{
tv_name
.
setText
(
""
);
}
tv_number
.
setText
(
String
.
valueOf
(
position
+
1
));
tv_value
.
setText
(
datasBean
.
getQtyName
());
//设置字体
tv_value
.
setTextSize
(
mFoodlListFontSize
);
tv_name
.
setTextSize
(
mFoodlListFontSize
);
tv_number
.
setTextSize
(
mFoodlListFontSize
);
int
selected
=
datasBean
.
getSelected
();
switch
(
selected
)
{
case
1
:
//选中,第一层选中.
rl_select
.
setBackgroundColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_background_color
));
tv_number
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
tv_name
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
tv_value
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
break
;
default
:
//未选 中。黑底白字
rl_select
.
setBackgroundColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_white_color
));
tv_number
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
tv_name
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
tv_value
.
setTextColor
(
mContext
.
getResources
().
getColor
(
R
.
color
.
theme_black
));
break
;
}
rl_select
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
mOnItemClickListener
!=
null
)
{
mOnItemClickListener
.
onItemClick
(
datasBean
,
position
);
}
}
});
}
}
public
int
getSelectPosition
()
{
return
this
.
select_position
;
}
private
OnItemClickListener
mOnItemClickListener
;
public
void
setOnItemClickListener
(
OnItemClickListener
onItemClickListener
)
{
mOnItemClickListener
=
onItemClickListener
;
}
public
interface
OnItemClickListener
{
void
onItemClick
(
SoldoutCtrFood
datasBean
,
int
position
);
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
...
...
@@ -36,9 +40,9 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
private
Context
mContext
;
//所有沽清类型
// private List<CurrentSoldoutFood.DatasBean
> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
// private List<Color.DatasBean> mColorList;
// private List<Color.DatasBean> mColorList;
private
int
mOrderNumberShowSize
;
private
int
mOrderNumberFontSize
;
private
int
mModFontSize
;
...
...
@@ -77,7 +81,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_food
;
return
R
.
layout
.
meal_item_food
;
}
class
DateTimeItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
@@ -90,6 +94,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
TextView
tv_number
;
// @BindView(R.id.tv_status)
// TextView tv_status;
@BindView
(
R2
.
id
.
tv_soldout
)
TextView
tv_soldout
;
@BindView
(
R2
.
id
.
iv_qtySold
)
ImageView
iv_qtySold
;
...
...
@@ -109,8 +115,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public
void
onViewClick
(
View
view
,
int
position
)
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
if
(
mOnItemClickListener
!=
null
)
{
// //设置当前选中item颜色
...
...
@@ -145,7 +151,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
// break;
// }
// if (desc == null || desc.trim().length() == 0) {
desc
=
datasBean
.
getModifierName
();
desc
=
datasBean
.
getModifierName
();
// }
// tv_food_name.setMaxWidth(mColwidth);
...
...
@@ -189,13 +195,13 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
// }
// }
// } else {
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
// if (datasBean.isSelected()) {
// tv_food_name.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.orange_500));
// tv_food_name.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
// } else {
tv_food_name
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
Grass_green
));
tv_food_name
.
setTextColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
tv_food_name
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
Grass_green
));
tv_food_name
.
setTextColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
// }
// }
}
...
...
@@ -220,42 +226,45 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
}
private
void
setStatus
(
Modifier
datasBean
)
{
// datasBean.setSoldout(false);
tv_soldout
.
setMaxHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setMinHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setTextSize
(
mOrderNumberFontSize
);
tv_soldout
.
setTextColor
(
Color
.
parseColor
(
"#000000"
));
tv_soldout
.
setBackgroundDrawable
(
mContext
.
getResources
().
getDrawable
(
R
.
drawable
.
ui_selector_white_rect
));
tv_soldout
.
setMinWidth
(
20
);
tv_soldout
.
setTextSize
(
10
);
tv_soldout
.
setGravity
(
Gravity
.
CENTER
);
iv_qtySold
.
setVisibility
(
View
.
INVISIBLE
);
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) {
// String name = sc.get_QtyName();
// if (name.equals("")) {
// tv_number.setVisibility(View.INVISIBLE);
// } else {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// datasBean.setSoldout(true);
// } else {
// tv_number.setVisibility(View.VISIBLE);
// tv_number.setText(name);
// datasBean.setOR_Qty(name);
// }
// }
// }
// }
// }
for
(
SoldoutCtrFood
sc
:
mCurrentSlodoutFoodList_Full
)
{
if
(
sc
.
getType
()
==
SoldoutCtrlActivity
.
MODIFIER_TYPE
&&
sc
.
getModifierId
().
equals
(
datasBean
.
getMid
()))
{
String
name
=
sc
.
getQtyName
();
if
(
name
.
equals
(
""
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
if
(
sc
.
getQtyName
().
equalsIgnoreCase
(
"售罄"
))
{
iv_qtySold
.
setVisibility
(
View
.
VISIBLE
);
datasBean
.
setSoldout
(
true
);
}
else
if
(
sc
.
getQtyName
().
equalsIgnoreCase
(
"暫停"
))
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
name
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
name
);
datasBean
.
setMaxNumber
(
name
);
}
}
}
}
}
}
// public List<CurrentSoldoutFood.DatasBean> getCurrentSlodoutFoodList_Full() {
// return mCurrentSlodoutFoodList_Full;
// }
//
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
// }
public
void
setCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
currentSlodoutFoodList_Full
)
{
this
.
mCurrentSlodoutFoodList_Full
=
currentSlodoutFoodList_Full
;
}
public
int
getUser_qty
()
{
return
user_qty
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
...
...
@@ -36,7 +40,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
private
Context
mContext
;
//所有沽清类型
// private List<CurrentSoldoutFood.DatasBean
> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
// private List<Color.DatasBean> mColorList;
private
int
mOrderNumberShowSize
;
...
...
@@ -77,7 +81,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_food
;
return
R
.
layout
.
meal_item_food
;
}
class
FineItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
@@ -90,6 +94,8 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
TextView
tv_number
;
// @BindView(R.id.tv_status)
// TextView tv_status;
@BindView
(
R2
.
id
.
tv_soldout
)
TextView
tv_soldout
;
@BindView
(
R2
.
id
.
iv_qtySold
)
ImageView
iv_qtySold
;
...
...
@@ -250,20 +256,14 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
}
private
void
setStatus
(
Modifier
datasBean
)
{
// tv_status.setMaxHeight(mOrderNumberShowSize);
// tv_status.setMinHeight(mOrderNumberShowSize);
// tv_status.setTextSize(mOrderNumberFontSize);
// tv_status.setMinWidth(20);
// tv_status.setGravity(Gravity.CENTER);
// tv_status.setText("");
// tv_status.setVisibility(View.INVISIBLE);
tv_number
.
setMaxHeight
(
mOrderNumberShowSize
);
tv_number
.
setMinHeight
(
mOrderNumberShowSize
);
tv_number
.
setTextSize
(
mOrderNumberFontSize
);
tv_number
.
setMinWidth
(
20
);
tv_number
.
setTextColor
(
android
.
graphics
.
Color
.
parseColor
(
"#000000"
));
tv_number
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
tv_number
.
setGravity
(
Gravity
.
CENTER
);
tv_soldout
.
setMaxHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setMinHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setTextSize
(
mOrderNumberFontSize
);
tv_soldout
.
setTextColor
(
Color
.
parseColor
(
"#000000"
));
tv_soldout
.
setBackgroundDrawable
(
mContext
.
getResources
().
getDrawable
(
R
.
drawable
.
ui_selector_white_rect
));
tv_soldout
.
setMinWidth
(
20
);
tv_soldout
.
setTextSize
(
10
);
tv_soldout
.
setGravity
(
Gravity
.
CENTER
);
ViewGroup
.
MarginLayoutParams
mp
=
new
ViewGroup
.
MarginLayoutParams
(
RelativeLayout
.
LayoutParams
.
WRAP_CONTENT
,
RelativeLayout
.
LayoutParams
.
WRAP_CONTENT
);
//item的宽高
mp
.
setMargins
(
0
,
0
,
0
,
0
);
//分别是margin_top那四个属性
...
...
@@ -273,39 +273,36 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
tv_number
.
setLayoutParams
(
lp
);
tv_number
.
setVisibility
(
View
.
INVISIBLE
);
iv_qtySold
.
setVisibility
(
View
.
INVISIBLE
);
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) {
// String name = sc.get_QtyName();
// if (name.equals("")) {
// tv_number.setVisibility(View.INVISIBLE);
// } else {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// } else {
// tv_number.setVisibility(View.VISIBLE);
// tv_number.setText(name);
// }
// }
// }
// }
// }
for
(
SoldoutCtrFood
sc
:
mCurrentSlodoutFoodList_Full
)
{
if
(
sc
.
getType
()
==
SoldoutCtrlActivity
.
MODIFIER_TYPE
&&
sc
.
getModifierId
().
equals
(
datasBean
.
getMid
()))
{
String
name
=
sc
.
getQtyName
();
if
(
name
.
equals
(
""
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
if
(
sc
.
getQtyName
().
equalsIgnoreCase
(
"售罄"
))
{
iv_qtySold
.
setVisibility
(
View
.
VISIBLE
);
datasBean
.
setSoldout
(
true
);
}
else
if
(
sc
.
getQtyName
().
equalsIgnoreCase
(
"暫停"
))
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
name
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
name
);
datasBean
.
setMaxNumber
(
name
);
}
}
}
}
}
}
// public List<CurrentSoldoutFood.DatasBean> getmCurrentSlodoutFoodList_Full() {
// return mCurrentSlodoutFoodList_Full;
// }
//
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mC
urrentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mC
urrentSlodoutFoodList_Full;
//
}
public
void
setCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
c
urrentSlodoutFoodList_Full
)
{
this
.
mCurrentSlodoutFoodList_Full
=
c
urrentSlodoutFoodList_Full
;
}
public
int
getUser_qty
()
{
return
user_qty
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderMoneyAdapter.java
View file @
1e1dee0d
...
...
@@ -75,7 +75,12 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
public
void
setData
(
BillOrderMoney
datasBean
,
int
position
)
{
tv_title
.
setText
(
datasBean
.
getTitle
());
tv_money
.
setText
(
cashStr
+
datasBean
.
getMoney
());
if
(
datasBean
.
getMoney
()
<
0
)
{
tv_money
.
setText
(
"-"
+
cashStr
+
Math
.
abs
(
datasBean
.
getMoney
()));
}
else
{
tv_money
.
setText
(
cashStr
+
datasBean
.
getMoney
());
}
tv_title
.
setTextSize
(
BillTotalFontSize
);
tv_money
.
setTextSize
(
BillTotalFontSize
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderTopFunctionAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.FrameLayout
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -50,7 +53,9 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
class
TopFunctionItemHolder
extends
BaseHolder
<
Function
>
{
@BindView
(
R2
.
id
.
btn_name
)
QMUIAlphaButton
btn_name
;
Button
btn_name
;
@BindView
(
R2
.
id
.
btn_lable
)
Button
btn_lable
;
public
TopFunctionItemHolder
(
View
itemView
)
{
super
(
itemView
);
...
...
@@ -63,7 +68,43 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
btn_name
.
setTextColor
(
datasBean
.
getTextColor
());
btn_name
.
setBackgroundColor
(
datasBean
.
getBackgroundColor
());
btn_name
.
setTextSize
(
datasBean
.
getTextSize
());
if
(!
TextUtils
.
isEmpty
(
datasBean
.
getLable
()))
{
btn_lable
.
setText
(
datasBean
.
getLable
());
btn_lable
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
btn_lable
.
setVisibility
(
View
.
INVISIBLE
);
}
btn_name
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
onClickListener
!=
null
)
onClickListener
.
onItemClick
(
v
,
datasBean
);
}
});
btn_name
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
if
(
onClickListener
!=
null
)
onClickListener
.
onItemLongClick
(
v
,
datasBean
);
return
false
;
}
});
}
}
private
OnClickListener
onClickListener
;
public
void
setOnClickListener
(
OnClickListener
onClickListener
)
{
this
.
onClickListener
=
onClickListener
;
}
public
interface
OnClickListener
{
void
onItemClick
(
View
v
,
Function
function
);
boolean
onItemLongClick
(
View
v
,
Function
function
);
}
}
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/ComboAdapter.java
→
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/ComboAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.drawable.GradientDrawable
;
...
...
@@ -7,11 +7,11 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.R2
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
...
...
@@ -66,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_combo
;
return
R
.
layout
.
meal_item_combo
;
}
class
ComboItemHolder
extends
BaseHolder
<
ComboItem
>
{
...
...
@@ -157,13 +157,20 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
// iv_qty_sold.setVisibility(View.INVISIBLE);
// }
int
maxNumber
=
datasBean
.
getMaxNumber
();
int
number
=
datasBean
.
getNumber
();
if
(
number
>=
maxNumber
)
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
maxNumber
);
}
else
{
// int maxNumber = datasBean.getMaxNumber();
// int number = datasBean.getNumber();
// if (number >= maxNumber) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(maxNumber);
// } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String
qty
=
datasBean
.
getMaxNumber
();
if
(
qty
.
equals
(
""
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
datasBean
.
getMaxNumber
());
}
tv_soldout
.
setMaxHeight
(
OrderNumberChildShowSize
);
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/FoodAdapter.java
→
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/FoodAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.text.TextUtils
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.R2
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
...
...
@@ -35,9 +40,12 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private
Context
mContext
;
private
int
mOrderNumberShowSize
=
14
;
private
int
mOrderNumberFontSize
=
14
;
private
int
mFoodFontSize
=
14
;
//所有沽清类型
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
private
int
mOrderNumberShowSize
;
private
int
mOrderNumberFontSize
;
private
int
mFoodFontSize
;
private
int
mColwidth
;
private
int
mColHeight
;
...
...
@@ -48,9 +56,15 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private
int
user_qty
;
//在进入的的数量
public
boolean
check_qty
=
false
;
//是否检查数理
public
FoodAdapter
(
Context
context
,
List
<
Food
>
infos
)
{
/**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private
int
mFromType
=
1
;
public
FoodAdapter
(
Context
context
,
List
<
Food
>
infos
,
int
fromType
)
{
super
(
infos
);
this
.
mContext
=
context
;
this
.
mFromType
=
fromType
;
this
.
mOrderNumberShowSize
=
GsaCloudApplication
.
androidSetting
.
getOrderNumberChildShowSize
();
this
.
mOrderNumberFontSize
=
GsaCloudApplication
.
androidSetting
.
getOrderNumberChildFontSize
();
this
.
mFoodFontSize
=
GsaCloudApplication
.
androidSetting
.
getFoodFontSize
();
...
...
@@ -71,7 +85,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_food
;
return
R
.
layout
.
meal_item_food
;
}
class
FoodItemHolder
extends
BaseHolder
<
Food
>
{
...
...
@@ -101,7 +115,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setStatus
(
datasBean
);
setOnItemClickListener
((
view
,
position1
)
->
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
resetSelect
(
position1
,
datasBean
);
...
...
@@ -165,7 +179,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout
.
setMaxHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setMinHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setTextSize
(
mOrderNumber
Show
Size
);
tv_soldout
.
setTextSize
(
mOrderNumber
Font
Size
);
tv_soldout
.
setTextColor
(
Color
.
parseColor
(
"#000000"
));
tv_soldout
.
setBackgroundDrawable
(
mContext
.
getResources
().
getDrawable
(
R
.
drawable
.
ui_selector_white_rect
));
tv_soldout
.
setMinWidth
(
20
);
...
...
@@ -180,11 +194,16 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
iv_qtySold
.
setVisibility
(
View
.
INVISIBLE
);
long
Invisible
=
datasBean
.
getInvisible
();
if
(
Invisible
==
2
)
{
iv_qtySold
.
setVisibility
(
View
.
VISIBLE
);
String
qty
=
datasBean
.
getCurrentMaxNumber
();
if
(
TextUtils
.
isEmpty
(
qty
)
)
{
tv_soldout
.
setVisibility
(
View
.
IN
VISIBLE
);
}
else
{
iv_qtySold
.
setVisibility
(
View
.
INVISIBLE
);
if
(
qty
.
equalsIgnoreCase
(
"售罄"
))
{
iv_qtySold
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
qty
);
}
}
}
...
...
@@ -232,6 +251,13 @@ public class FoodAdapter extends DefaultAdapter<Food> {
mOnItemClickListener
.
onItemClick
(
mInfos
.
get
(
position
),
position
);
}
public
List
<
SoldoutCtrFood
>
getCurrentSlodoutFoodList_Full
()
{
return
mCurrentSlodoutFoodList_Full
;
}
public
void
setCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
)
{
this
.
mCurrentSlodoutFoodList_Full
=
mCurrentSlodoutFoodList_Full
;
}
public
int
getCurrentSelectPosition
()
{
return
currentSelectPosition
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/FoodGroupAdapter.java
→
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/FoodGroupAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.text.TextUtils
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.R2
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
...
...
@@ -32,6 +38,8 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private
Context
mContext
;
//所有沽清类型
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
// private List<Color.DatasBean> mColorList;
private
int
mOrderNumberShowSize
;
private
int
mOrderNumberFontSize
;
...
...
@@ -44,9 +52,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private
int
currentSelectPosition
=
0
;
public
FoodGroupAdapter
(
Context
context
,
List
<
Food
>
infos
)
{
/**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private
int
mFromType
=
1
;
public
FoodGroupAdapter
(
Context
context
,
List
<
Food
>
infos
,
int
fromType
)
{
super
(
infos
);
this
.
mContext
=
context
;
this
.
mFromType
=
fromType
;
this
.
mOrderNumberShowSize
=
GsaCloudApplication
.
androidSetting
.
getOrderNumberShowSize
();
this
.
mOrderNumberFontSize
=
GsaCloudApplication
.
androidSetting
.
getOrderNumberFontSize
();
...
...
@@ -69,15 +83,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public
BaseHolder
<
Food
>
getHolder
(
View
v
,
int
viewType
)
{
return
new
Foodl
Kind
ItemHolder
(
v
);
return
new
Foodl
Group
ItemHolder
(
v
);
}
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_food_group
;
return
R
.
layout
.
meal_item_food_group
;
}
class
Foodl
Kind
ItemHolder
extends
BaseHolder
<
Food
>
{
class
Foodl
Group
ItemHolder
extends
BaseHolder
<
Food
>
{
@BindView
(
R2
.
id
.
rl_container
)
RelativeLayout
rl_container
;
...
...
@@ -88,7 +102,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@BindView
(
R2
.
id
.
tv_soldout
)
TextView
tv_soldout
;
public
Foodl
Kind
ItemHolder
(
View
itemView
)
{
public
Foodl
Group
ItemHolder
(
View
itemView
)
{
super
(
itemView
);
}
...
...
@@ -103,7 +117,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public
void
onViewClick
(
View
view
,
int
position
)
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
if
(
mOnItemClickListener
!=
null
)
{
...
...
@@ -221,32 +235,20 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
tv_soldout
.
setMinHeight
(
mOrderNumberShowSize
);
tv_soldout
.
setTextSize
(
mOrderNumberFontSize
);
// String qty = datasBean.getOR_Qty();
// if (TextUtils.isEmpty(qty)) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(datasBean.getNumber());
// }
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getFID()) && sc.getType().equals("G")) {
// if (sc.get_QtyName().equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(sc.get_QtyName());
// }
// }
// }
// }
String
qty
=
datasBean
.
getMaxNumber
();
if
(
qty
.
equals
(
""
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
datasBean
.
getMaxNumber
());
}
}
}
public
void
setCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
currentSlodoutFoodList_Full
)
{
this
.
mCurrentSlodoutFoodList_Full
=
currentSlodoutFoodList_Full
;
}
private
OnItemClickListener
mOnItemClickListener
;
public
void
setOnItemClickListener
(
OnItemClickListener
onItemClickListener
)
{
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/ModifierAdapter.java
→
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/ModifierAdapter.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.view.Gravity
;
...
...
@@ -6,11 +6,10 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.R2
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
...
...
@@ -65,7 +64,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_
meal_item_combo
;
return
R
.
layout
.
meal_item_combo
;
}
class
ComboItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
@@ -152,13 +151,21 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
// iv_qty_sold.setVisibility(View.INVISIBLE);
// }
int
maxNumber
=
datasBean
.
getMaxNumber
();
int
number
=
datasBean
.
getNumber
();
if
(
number
>=
maxNumber
)
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
maxNumber
);
}
else
{
// int maxNumber = datasBean.getMaxNumber();
// int number = datasBean.getNumber();
// if (number >= maxNumber) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(maxNumber);
// } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String
qty
=
datasBean
.
getMaxNumber
();
if
(
qty
.
equals
(
""
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
tv_soldout
.
setVisibility
(
View
.
VISIBLE
);
tv_soldout
.
setText
(
datasBean
.
getMaxNumber
());
}
tv_soldout
.
setMaxHeight
(
OrderNumberChildShowSize
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
1e1dee0d
...
...
@@ -404,7 +404,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
notifyItemChanged
(
i
);
Food
orderBean
=
mMealStandPresenter
.
getOrderFoodById
(
orderItem
.
getId
());
if
(
orderBean
!=
null
)
{
mMealStandPresenter
.
set
UserMaxQty
(
orderBean
);
mMealStandPresenter
.
set
FoodMaxQty
(
orderBean
,
false
);
}
}
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
View file @
1e1dee0d
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.ParseException
;
import
android.os.Bundle
;
...
...
@@ -92,9 +94,9 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
currentPageIndex
=
getArguments
().
getInt
(
"currentPageIndex"
,
0
);
orderCenterActivity
=
(
OrderCenterActivity
)
getActivity
()
;
orderCenterActivity
=
(
OrderCenterActivity
)
mContext
;
mPresenter
.
initOrderAdapter
(
getActivity
()
);
mPresenter
.
initOrderAdapter
(
mContext
);
initRefreshLayout
();
}
...
...
@@ -169,6 +171,10 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
}
public
Activity
getCurrentActivity
()
{
return
(
Activity
)
mContext
;
}
private
View
.
OnClickListener
onRetryClickListener
=
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
...
...
@@ -218,7 +224,7 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
}
private
void
initAllOrderRecycleViewLayout
()
{
LinearLayoutManager
mAllOrderRecycleLayoutManager
=
new
LinearLayoutManager
(
getActivity
()
,
LinearLayoutManager
.
VERTICAL
,
false
);
LinearLayoutManager
mAllOrderRecycleLayoutManager
=
new
LinearLayoutManager
(
mContext
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_order
.
setLayoutManager
(
mAllOrderRecycleLayoutManager
);
recycle_order
.
addItemDecoration
(
new
DividerItemDecoration
(
orderCenterActivity
,
LinearLayoutManager
.
VERTICAL
));
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllTableFragment.java
View file @
1e1dee0d
...
...
@@ -108,11 +108,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
currentPageIndex
=
getArguments
().
getInt
(
"currentPageIndex"
,
TableActivity
.
FUNCTION_ALL_TABLE
);
Activity
activity
=
getActivity
();
if
(
activity
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
activity
;
}
else
if
(
activity
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
activity
;
if
(
mContext
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
mContext
;
}
else
if
(
mContext
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
mContext
;
}
initRefreshLayout
();
initRecycleScrollListener
();
...
...
@@ -266,6 +265,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
}
public
Activity
getCurrentActivity
()
{
return
(
Activity
)
mContext
;
}
private
View
.
OnClickListener
onRetryClickListener
=
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
...
...
@@ -326,7 +329,7 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// } else {
mAllTableRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
4
,
LinearLayoutManager
.
VERTICAL
,
false
);
mAllTableRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
4
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_all_table
.
setLayoutManager
(
mAllTableRecycleLayoutManager
);
// recycle_all_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemAllFragment.java
View file @
1e1dee0d
...
...
@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
...
...
@@ -23,6 +24,8 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.FineItemAllPresenter;
import
org.simple.eventbus.Subscriber
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
...
...
@@ -83,13 +86,19 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
modCol
=
GsaCloudApplication
.
androidSetting
.
getModCol
();
mPresenter
.
initAdapter
();
mPresenter
.
initItemListener
(
getActivity
()
);
mPresenter
.
initItemListener
(
mContext
);
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
public
void
updateCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
event
)
{
if
(
event
==
null
)
{
return
;
}
mPresenter
.
updateCurrentSlodoutFoodList_Full
(
event
);
}
public
void
onModSasteEvent
(
long
mid
)
{
...
...
@@ -149,25 +158,25 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
private
GridLayoutManager
mFineItemTwoRecycleLayoutManager
;
public
void
initFineItemTwoRecycleView
()
{
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_fine_item_kind_item
.
setLayoutManager
(
mFineItemTwoRecycleLayoutManager
);
recycle_fine_item_kind_item
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemTwoRecycleView2
()
{
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
recycle_fine_item_kind_item
.
setLayoutManager
(
mFineItemTwoRecycleLayoutManager
);
recycle_fine_item_kind_item
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemAllRecycleView
()
{
mFineItemAllRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
mFineItemAllRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_fine_item_all
.
setLayoutManager
(
mFineItemAllRecycleLayoutManager
);
recycle_fine_item_all
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemAllRecycleView2
()
{
mFineItemAllRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
mFineItemAllRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
recycle_fine_item_all
.
setLayoutManager
(
mFineItemAllRecycleLayoutManager
);
recycle_fine_item_all
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
...
...
@@ -208,7 +217,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
@Override
public
Activity
getCurrentActivity
()
{
return
getActivity
()
;
return
(
Activity
)
mContext
;
}
@Override
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemKindFragment.java
View file @
1e1dee0d
...
...
@@ -79,11 +79,11 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
modCol
=
GsaCloudApplication
.
androidSetting
.
getModCol
();
mPresenter
.
initAdapter
();
mPresenter
.
initItemListener
(
getActivity
()
);
mPresenter
.
initItemListener
(
mContext
);
}
// @Subscriber(tag = "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent")
// public void onCurrentSlodoutFoodList_FullEvent(List<
CurrentSoldout
Food.DatasBean> event) {
// public void onCurrentSlodoutFoodList_FullEvent(List<
SoldoutCtr
Food.DatasBean> event) {
// if (event == null) {
// return;
// }
...
...
@@ -157,25 +157,25 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
private
GridLayoutManager
mFineItemTwoRecycleLayoutManager
;
public
void
initFineItemOneRecycleView
()
{
mFineItemOneRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
mFineItemOneRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_fine_item_kind
.
setLayoutManager
(
mFineItemOneRecycleLayoutManager
);
recycle_fine_item_kind
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemOneRecycleView2
()
{
mFineItemOneRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
mFineItemOneRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
recycle_fine_item_kind
.
setLayoutManager
(
mFineItemOneRecycleLayoutManager
);
recycle_fine_item_kind
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemTwoRecycleView
()
{
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_fine_item_kind_item
.
setLayoutManager
(
mFineItemTwoRecycleLayoutManager
);
recycle_fine_item_kind_item
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
public
void
initFineItemTwoRecycleView2
()
{
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
mFineItemTwoRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
recycle_fine_item_kind_item
.
setLayoutManager
(
mFineItemTwoRecycleLayoutManager
);
recycle_fine_item_kind_item
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
...
...
@@ -206,7 +206,7 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
@Override
public
Activity
getCurrentActivity
()
{
return
getActivity
()
;
return
(
Activity
)
mContext
;
}
@Override
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/InputTableFragment.java
View file @
1e1dee0d
...
...
@@ -136,11 +136,10 @@ public class InputTableFragment extends BaseFragment<InputTablePresenter> implem
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Activity
activity
=
getActivity
();
if
(
activity
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
activity
;
}
else
if
(
activity
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
activity
;
if
(
mContext
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
mContext
;
}
else
if
(
mContext
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
mContext
;
}
ed_value
.
addTextChangedListener
(
new
TextWatcher
()
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/StateTableFragment.java
View file @
1e1dee0d
...
...
@@ -88,11 +88,10 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Activity
activity
=
getActivity
();
if
(
activity
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
activity
;
}
else
if
(
activity
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
activity
;
if
(
mContext
instanceof
TableActivity
)
{
mTableActivity
=
(
TableActivity
)
mContext
;
}
else
if
(
mContext
instanceof
OrderContentActivity
){
mOrderContentActivity
=
(
OrderContentActivity
)
mContext
;
}
initRecycleScrollListener
();
...
...
@@ -213,6 +212,9 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
}
public
Activity
getCurrentActivity
()
{
return
(
Activity
)
mContext
;
}
@Override
public
void
setStateTableAdapter
(
DefaultAdapter
adapter
)
{
...
...
@@ -230,7 +232,7 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// } else {
mStateTableRecycleLayoutManager
=
new
GridLayoutManager
(
getActivity
()
,
4
,
LinearLayoutManager
.
VERTICAL
,
false
);
mStateTableRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
4
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_state_table
.
setLayoutManager
(
mStateTableRecycleLayoutManager
);
// recycle_state_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
...
...
public-bas
e/src/main/res/drawable/meal_btn_parent_text.xml
→
table-mod
e/src/main/res/drawable/meal_btn_parent_text.xml
View file @
1e1dee0d
File moved
public-bas
e/src/main/res/drawable/meal_food_group_point_focuese.xml
→
table-mod
e/src/main/res/drawable/meal_food_group_point_focuese.xml
View file @
1e1dee0d
File moved
public-bas
e/src/main/res/drawable/meal_food_group_point_unfocused.xml
→
table-mod
e/src/main/res/drawable/meal_food_group_point_unfocused.xml
View file @
1e1dee0d
File moved
public-bas
e/src/main/res/drawable/meal_selector_food_backgroup.xml
→
table-mod
e/src/main/res/drawable/meal_selector_food_backgroup.xml
View file @
1e1dee0d
File moved
public-bas
e/src/main/res/drawable/meal_selector_number_keys.xml
→
table-mod
e/src/main/res/drawable/meal_selector_number_keys.xml
View file @
1e1dee0d
File moved
public-bas
e/src/main/res/drawable/meal_selector_soldout.xml
→
table-mod
e/src/main/res/drawable/meal_selector_soldout.xml
View file @
1e1dee0d
File moved
table-mode/src/main/res/layout/meal_activity_soldout_ctrl.xml
View file @
1e1dee0d
...
...
@@ -8,7 +8,7 @@
<LinearLayout
android:id=
"@+id/ll_meals"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_2
2
0"
android:layout_height=
"@dimen/dp_2
5
0"
android:orientation=
"vertical"
>
<RelativeLayout
...
...
@@ -37,7 +37,6 @@
android:text=
"數量"
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_white_color"
/>
</RelativeLayout>
<LinearLayout
...
...
@@ -51,7 +50,9 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:divider=
"@null"
android:fadeScrollbars=
"false"
/>
android:fadeScrollbars=
"false"
app:spanCount=
"1"
app:layoutManager=
"com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"
/>
</LinearLayout>
</LinearLayout>
...
...
public-base/src/main/res/layout/ui_
meal_item_combo.xml
→
table-mode/src/main/res/layout/
meal_item_combo.xml
View file @
1e1dee0d
File moved
table-mode/src/main/res/layout/meal_item_current_soldout_food.xml
0 → 100644
View file @
1e1dee0d
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/rl_select"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingTop=
"@dimen/normal_space5"
android:paddingBottom=
"@dimen/normal_space5"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:text=
"1"
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_16"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_marginRight=
"@dimen/dp_5"
android:layout_toLeftOf=
"@+id/tv_value"
android:layout_toRightOf=
"@+id/tv_number"
android:text=
""
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_16"
/>
<TextView
android:id=
"@+id/tv_value"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginRight=
"@dimen/dp_20"
android:text=
""
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_16"
/>
</RelativeLayout>
public-base/src/main/res/layout/ui_
meal_item_food.xml
→
table-mode/src/main/res/layout/
meal_item_food.xml
View file @
1e1dee0d
File moved
public-base/src/main/res/layout/ui_
meal_item_food_group.xml
→
table-mode/src/main/res/layout/
meal_item_food_group.xml
View file @
1e1dee0d
File moved
table-mode/src/main/res/layout/meal_order_top_function.xml
View file @
1e1dee0d
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/btn_name"
android:orientation=
"vertical"
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/fl_container"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_60"
android:gravity=
"center"
android:background=
"@color/theme_color"
android:textColor=
"@color/theme_white_color"
android:text=
"送單"
android:textSize=
"@dimen/font_large"
android:layout_height=
"wrap_content"
android:layout_margin=
"1px"
>
</com.qmuiteam.qmui.alpha.QMUIAlphaButton>
\ No newline at end of file
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_name"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:background=
"@color/theme_color"
android:textColor=
"@color/theme_white_color"
android:text=
"送單"
android:textSize=
"@dimen/font_large"
>
</com.qmuiteam.qmui.alpha.QMUIAlphaButton>
<Button
android:id=
"@+id/btn_lable"
style=
"@style/ButtonBorderless"
android:layout_width=
"40dp"
android:layout_height=
"20dp"
android:layout_gravity=
"right|bottom"
android:background=
"@drawable/ui_shape_red_oval"
android:gravity=
"center"
android:visibility=
"visible"
android:singleLine=
"true"
android:layout_margin=
"@dimen/dp_2"
android:textColor=
"@color/theme_white_color"
/>
</FrameLayout>
\ No newline at end of file
user-login/src/main/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -43,10 +43,10 @@
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"
540"
/>
android:value=
"
640"
/>
</application>
</manifest>
user-login/src/main/debug/AndroidManifest.xml
View file @
1e1dee0d
...
...
@@ -36,10 +36,10 @@
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"
540"
/>
android:value=
"
640"
/>
</application>
</manifest>
\ 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