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
28b1c416
Commit
28b1c416
authored
Apr 28, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、新增沽清頁
parent
ffb75ea0
Show whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
1964 additions
and
233 deletions
+1964
-233
main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
+4
-4
manager/build.gradle
+2
-5
manager/src/main/AndroidManifest.xml
+4
-5
manager/src/main/debug/AndroidManifest.xml
+26
-26
manager/src/main/java/com/gingersoft/gsa/cloud/manager/ComponentManager.java
+6
-17
manager/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/adapter/soldout/CurrentSlodoutFoodAdapter.java
+191
-0
manager/src/main/res/values/colors.xml
+0
-29
manager/src/main/res/values/dimens.xml
+0
-4
manager/src/main/res/values/ids.xml
+0
-3
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/OrderBean.java
+12
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderDetail.java
+74
-10
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/MoneyUtil.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/constans/MealConstant.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Discount.java
+2
-0
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/meal/ComboAdapter.java
+4
-5
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/meal/FoodAdapter.java
+4
-5
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/meal/FoodGroupAdapter.java
+4
-7
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/meal/ModifierAdapter.java
+4
-8
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/widget/dialog/CommonTipDialog.java
+3
-1
public-base/src/main/res/drawable/meal_food_group_point_focuese.xml
+0
-0
public-base/src/main/res/drawable/meal_food_group_point_unfocused.xml
+0
-0
public-base/src/main/res/layout/ui_meal_item_combo.xml
+0
-0
public-base/src/main/res/layout/ui_meal_item_food.xml
+0
-0
public-base/src/main/res/layout/ui_meal_item_food_group.xml
+0
-0
settings.gradle
+1
-0
table-mode/src/main/AndroidManifest.xml
+1
-0
table-mode/src/main/debug/AndroidManifest.xml
+1
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/ComponentTable.java
+9
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/di/component/SoldoutCtrlComponent.java
+39
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SoldoutCtrlModule.java
+28
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
+70
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
+73
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+4
-3
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemKindPresenter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+69
-16
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+7
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
+173
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+45
-37
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+0
-4
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
+590
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
+6
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/CurrentSlodoutFoodAdapter.java
+187
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
+0
-2
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterDetailFoodAdapter.java
+5
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+82
-7
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemAllFragment.java
+6
-13
table-mode/src/main/res/drawable-hdpi/meal_muleiple_selection.png
+0
-0
table-mode/src/main/res/layout/meal_activity_soldout_ctrl.xml
+178
-0
table-mode/src/main/res/layout/table_activity_meal_stand.xml
+38
-13
table-mode/src/main/res/values/strings.xml
+3
-1
user-login/build.gradle
+1
-0
No files found.
main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
View file @
28b1c416
...
...
@@ -215,7 +215,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions
.
add
(
new
Function
((
long
)
144
,
151
,
5
,
"打印管理"
,
R
.
drawable
.
ic_print_management
,
0
));
functions
.
add
(
new
Function
((
long
)
145
,
151
,
5
,
"支付管理"
,
R
.
drawable
.
ic_pay_management_close
,
1
));
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
,
1
));
functions
.
add
(
new
Function
((
long
)
147
,
151
,
5
,
"沽清管理"
,
R
.
drawable
.
ic_meals_menu_management
,
0
));
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
));
...
...
@@ -284,8 +284,8 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
.
setActionName
(
"orderActivity"
)
.
build
()
.
call
();
}
else
if
(
name
.
equals
(
"沽清管理"
))
{
CC
.
obtainBuilder
(
"Component.
Manager
"
)
}
else
if
(
name
.
equals
(
"沽清管理"
))
{
CC
.
obtainBuilder
(
"Component.
Table
"
)
.
setActionName
(
"showSoldoutCtrlActivity"
)
.
build
()
.
call
();
...
...
@@ -407,7 +407,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
public
void
onClick
(
View
v
)
{
if
(
v
.
getId
()
==
R
.
id
.
layout_login_out
)
{
//登出
mPresenter
.
loginOut
(
);
CommonTipDialog
.
showDoubtDialog
(
this
,
"退出登錄?"
,
NewMainPresenter
.
class
,
mPresenter
,
"loginOut"
,
null
,
null
);
}
else
if
(
v
.
getId
()
==
R
.
id
.
iv_personal_center
)
{
slideMenu
.
toggle
();
}
else
if
(
v
.
getId
()
==
R
.
id
.
tv_restaurant_name
)
{
...
...
manager/build.gradle
View file @
28b1c416
ext
.
alwaysLib
=
true
//虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply
from:
rootProject
.
file
(
"cc-settings.gradle"
)
apply
plugin:
'kotlin-android-extensions'
apply
plugin:
'kotlin-android'
apply
from:
rootProject
.
file
(
'cc-settings.gradle'
)
apply
plugin:
'com.jakewharton.butterknife'
android
{
...
...
@@ -55,5 +52,5 @@ dependencies {
testImplementation
rootProject
.
ext
.
dependencies
[
"junit"
]
implementation
rootProject
.
ext
.
dependencies
[
"BaseRecyclerViewAdapter"
]
implementation
"androidx.core:core-ktx:+"
//
implementation "androidx.core:core-ktx:+"
}
manager/src/main/AndroidManifest.xml
View file @
28b1c416
...
...
@@ -3,11 +3,9 @@
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.gingersoft.gsa.cloud.manager"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application>
<!-- arms配置 -->
<meta-data
android:name=
"com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
</application>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
</manifest>
\ No newline at end of file
manager/src/main/debug/AndroidManifest.xml
View file @
28b1c416
...
...
@@ -2,32 +2,32 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.gingersoft.gsa.cloud.manager"
>
<!-- <application-->
<!-- android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"-->
<!-- android:allowBackup="true"-->
<!-- android:icon="@mipmap/ic_launcher"-->
<!-- android:label="@string/app_name"-->
<!-- android:networkSecurityConfig="@xml/network_android"-->
<!-- android:roundIcon="@mipmap/ic_launcher_round"-->
<!-- android:supportsRtl="true"-->
<!-- android:theme="@style/AppTheme">-->
<application
android:name=
"com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:label=
"@string/app_name"
android:networkSecurityConfig=
"@xml/network_android"
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<!-- arms配置 -->
<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=
"540"
/>
</application>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<!-- <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="540" />-->
<!-- </application>-->
<!-- <uses-permission android:name="android.permission.INTERNET" />-->
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />-->
<uses-permission
android:name=
"android.permission.RECEIVE_USER_PRESENT"
/>
</manifest>
manager/src/main/java/com/gingersoft/gsa/cloud/ComponentManager.java
→
manager/src/main/java/com/gingersoft/gsa/cloud/
manager/
ComponentManager.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
;
package
com
.
gingersoft
.
gsa
.
cloud
.
manager
;
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.table.mvp.ui.activity.orderManager.OrderCenterActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
public
class
ComponentTable
implements
IComponent
{
public
class
ComponentManager
implements
IComponent
{
@Override
public
String
getName
()
{
...
...
@@ -30,11 +26,8 @@ public class ComponentTable implements IComponent {
public
boolean
onCall
(
CC
cc
)
{
String
actionName
=
cc
.
getActionName
();
switch
(
actionName
)
{
case
"showOrderManagerActivity"
:
openOrderManagerActivity
(
cc
);
break
;
case
"showTagManagerActivity"
:
openTagManagerActivity
(
cc
);
case
"showSoldoutCtrlActivity"
:
openSoldoutCtrlActivity
(
cc
);
break
;
default
:
//这个逻辑分支上没有调用CC.sendCCResult(...),是一种错误的示例
...
...
@@ -45,14 +38,10 @@ public class ComponentTable implements IComponent {
return
false
;
}
private
void
open
OrderManager
Activity
(
CC
cc
)
{
// CCUtil.navigateTo(cc,
Table
Activity.class);
private
void
open
SoldoutCtrl
Activity
(
CC
cc
)
{
// CCUtil.navigateTo(cc,
SoldoutCtrl
Activity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
}
private
void
openTagManagerActivity
(
CC
cc
)
{
// CCUtil.navigateTo(cc, OrderPayActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
}
}
manager/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/ui/adapter/soldout/CurrentSlodoutFoodAdapter.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
manager
.
mvp
.
ui
.
adapter
.
soldout
;
import
android.content.Context
;
import
android.view.View
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
java.util.List
;
import
butterknife.BindView
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/6/27
* 修订历史:2018/6/27
* 描述:
*/
public
class
CurrentSlodoutFoodAdapter
extends
DefaultAdapter
<
Object
>
{
public
CurrentSlodoutFoodAdapter
(
List
<
Object
>
infos
)
{
super
(
infos
);
}
@Override
public
BaseHolder
<
Object
>
getHolder
(
View
v
,
int
viewType
)
{
return
null
;
}
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
0
;
}
//
// 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);
//
// }
//
}
manager/src/main/res/values/colors.xml
View file @
28b1c416
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color
name=
"main_colorPrimary"
>
#008577
</color>
<color
name=
"main_colorPrimaryDark"
>
#00574B
</color>
<color
name=
"main_colorAccent"
>
#D81B60
</color>
<!-- 報表虛線顏色-->
<color
name=
"report_dotted_line_color"
>
#8CA0B3
</color>
<color
name=
"report_left_scale"
>
#018EF2
</color>
<!-- 報表“昨日”線條顏色-->
<color
name=
"today_line"
>
#FFCC8F
</color>
<color
name=
"payment_method_color1"
>
#FF3F4E
</color>
<color
name=
"payment_method_color2"
>
#8FC31F
</color>
<color
name=
"payment_method_color3"
>
#F19EC2
</color>
<color
name=
"payment_method_color4"
>
#EB6100
</color>
<color
name=
"payment_method_color5"
>
#AA89BD
</color>
<color
name=
"payment_method_color6"
>
#00A0E9
</color>
<color
name=
"payment_method_color7"
>
#EFE75E
</color>
<color
name=
"payment_method_color8"
>
#5358F1
</color>
<color
name=
"payment_method_color9"
>
#ff2d51
</color>
<color
name=
"payment_method_color10"
>
#426666
</color>
<color
name=
"payment_method_color11"
>
#bce672
</color>
<color
name=
"payment_method_color12"
>
#44cef6
</color>
<color
name=
"payment_method_color13"
>
#ffa631
</color>
<color
name=
"payment_method_color14"
>
#a3d900
</color>
<color
name=
"payment_method_color15"
>
#f00056
</color>
<color
name=
"payment_method_color16"
>
#bf242a
</color>
<color
name=
"payment_method_color17"
>
#a1afc9
</color>
<color
name=
"payment_method_color18"
>
#c89c23
</color>
<color
name=
"payment_method_color19"
>
#e4c6d0
</color>
<color
name=
"payment_method_color20"
>
#103371
</color>
</resources>
manager/src/main/res/values/dimens.xml
View file @
28b1c416
<resources>
<dimen
name=
"main_fab_margin"
>
16dp
</dimen>
<dimen
name=
"main_recyclerview_marginLeft"
>
@dimen/dp_15
</dimen>
<dimen
name=
"main_recyclerview_marginRight"
>
@dimen/dp_15
</dimen>
<dimen
name=
"main_page_radius"
>
@dimen/dp_12
</dimen>
</resources>
manager/src/main/res/values/ids.xml
View file @
28b1c416
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
name=
"main_home_refresh"
type=
"id"
/>
<item
name=
"main_home_msg"
type=
"id"
/>
</resources>
\ No newline at end of file
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/CurrentAndroidSetting.java
View file @
28b1c416
...
...
@@ -39,7 +39,7 @@ public class CurrentAndroidSetting {
private
int
LayoutQuitHeight
=
40
;
private
int
LayoutFoodTypeHeight
=
100
;
private
int
FoodBtnHeight
=
120
;
private
int
ModBtnHeight
=
68
;
private
int
ModBtnHeight
=
75
;
private
int
FoodTypeCol
=
4
;
private
int
FoodTypeRow
=
1
;
private
int
FoodCol
=
4
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderBean.java
View file @
28b1c416
...
...
@@ -183,6 +183,10 @@ public class OrderBean {
private
long
parentId
;
private
long
orderId
;
/**
* 打印設定, 用逗號分隔, *=切紙
*/
private
String
printSeting
;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private
long
ablediscount
;
...
...
@@ -311,6 +315,14 @@ public class OrderBean {
this
.
orderId
=
orderId
;
}
public
String
getPrintSeting
()
{
return
printSeting
;
}
public
void
setPrintSeting
(
String
printSeting
)
{
this
.
printSeting
=
printSeting
;
}
public
long
getAblediscount
()
{
return
ablediscount
;
}
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/OrderDetail.java
View file @
28b1c416
...
...
@@ -152,6 +152,10 @@ public class OrderDetail implements Serializable {
*/
private
Date
createTime
=
new
Date
();
/**
* 打印設定, 用逗號分隔, *=切紙
*/
private
String
printSeting
;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private
long
ablediscount
;
...
...
@@ -168,6 +172,10 @@ public class OrderDetail implements Serializable {
*/
private
Discount
discount
;
/**
* 折扣狀態#0:未送單;1:已送單;
*/
private
int
discountStatus
;
/**
* 状态#0:正常;1:删除;
*/
private
Byte
status
=
STATUS_NORMAL
;
...
...
@@ -186,11 +194,54 @@ public class OrderDetail implements Serializable {
public
static
final
byte
MODIFIER_TYPE
=
4
;
public
static
final
byte
DISCOUNT_TYPE
=
5
;
private
String
printseting
;
public
OrderDetail
()
{
}
public
OrderDetail
(
OrderDetail
orderDetail
)
{
this
.
selected
=
orderDetail
.
selected
;
this
.
isIsfood
=
orderDetail
.
isIsfood
;
this
.
parentIndex
=
orderDetail
.
parentIndex
;
this
.
myIndex
=
orderDetail
.
myIndex
;
this
.
isNew
=
orderDetail
.
isNew
;
this
.
visible
=
orderDetail
.
visible
;
this
.
autoMod
=
orderDetail
.
autoMod
;
this
.
limitQty
=
orderDetail
.
limitQty
;
this
.
PERCENTAGE
=
orderDetail
.
PERCENTAGE
;
this
.
comid
=
orderDetail
.
comid
;
this
.
mid
=
orderDetail
.
mid
;
this
.
changeBeforeQty
=
orderDetail
.
changeBeforeQty
;
this
.
hasChild
=
orderDetail
.
hasChild
;
this
.
bgColor
=
orderDetail
.
bgColor
;
this
.
fontColor
=
orderDetail
.
fontColor
;
this
.
ComboLevel
=
orderDetail
.
ComboLevel
;
this
.
isComboAuto
=
orderDetail
.
isComboAuto
;
this
.
prop
=
orderDetail
.
prop
;
this
.
itemType
=
orderDetail
.
itemType
;
this
.
id
=
orderDetail
.
id
;
this
.
parentId
=
orderDetail
.
parentId
;
this
.
orderId
=
orderDetail
.
orderId
;
this
.
productName
=
orderDetail
.
productName
;
this
.
productId
=
orderDetail
.
productId
;
this
.
topId
=
orderDetail
.
topId
;
this
.
price
=
orderDetail
.
price
;
this
.
unit_price
=
orderDetail
.
unit_price
;
this
.
lunchboxPrice
=
orderDetail
.
lunchboxPrice
;
this
.
itemsPrice
=
orderDetail
.
itemsPrice
;
this
.
number
=
orderDetail
.
number
;
this
.
userCouponNo
=
orderDetail
.
userCouponNo
;
this
.
type
=
orderDetail
.
type
;
this
.
qmUseData
=
orderDetail
.
qmUseData
;
this
.
remark
=
orderDetail
.
remark
;
this
.
items
=
orderDetail
.
items
;
this
.
createTime
=
orderDetail
.
createTime
;
this
.
ablediscount
=
orderDetail
.
ablediscount
;
this
.
ftName
=
orderDetail
.
ftName
;
this
.
majorName
=
orderDetail
.
majorName
;
this
.
discount
=
orderDetail
.
discount
;
this
.
discountStatus
=
orderDetail
.
discountStatus
;
this
.
status
=
orderDetail
.
status
;
this
.
printSeting
=
orderDetail
.
printSeting
;
}
public
int
getSelected
()
{
return
selected
;
...
...
@@ -513,11 +564,11 @@ public class OrderDetail implements Serializable {
}
public
String
getPrintseting
()
{
return
print
seting
==
null
?
""
:
prints
eting
;
return
print
Seting
==
null
?
""
:
printS
eting
;
}
public
void
setPrintseting
(
String
printseting
)
{
this
.
print
s
eting
=
printseting
;
this
.
print
S
eting
=
printseting
;
}
public
long
getTopId
()
{
...
...
@@ -528,6 +579,14 @@ public class OrderDetail implements Serializable {
this
.
topId
=
topId
;
}
public
int
getDiscountStatus
()
{
return
discountStatus
;
}
public
void
setDiscountStatus
(
int
discountStatus
)
{
this
.
discountStatus
=
discountStatus
;
}
/**
* 已送單食品轉換
*
...
...
@@ -539,7 +598,7 @@ public class OrderDetail implements Serializable {
OrderDetail
parentOrderDetail
=
null
;
long
parentId
=
0
;
//每個套餐食品折扣總額
double
discount
Amount
=
0
;
double
discount
SourcePrice
=
0
;
//已到結尾或者下一個食品是主食品
for
(
int
i
=
0
;
i
<
orderList
.
size
();
i
++)
{
OrderBean
.
OrderDetailsBean
orderDetailsBean
=
orderList
.
get
(
i
);
...
...
@@ -553,6 +612,7 @@ public class OrderDetail implements Serializable {
orderDetail
.
setNumber
(
orderDetailsBean
.
getNumber
());
orderDetail
.
setPrice
(
orderDetailsBean
.
getPrice
()
*
orderDetailsBean
.
getNumber
());
orderDetail
.
setVisible
(
orderDetailsBean
.
getStatus
()
==
0
);
orderDetail
.
setPrintseting
(
orderDetailsBean
.
getPrintSeting
());
// orderDetail.setAutomod(foods.getAutomod());
orderDetail
.
setIsfood
(
orderDetailsBean
.
getType
()
==
FOOD_TYPE
);
orderDetail
.
setNew
(
false
);
...
...
@@ -562,18 +622,21 @@ public class OrderDetail implements Serializable {
if
(
orderDetail
.
getItemType
()
==
1
)
{
parentId
=
orderDetail
.
getId
();
discount
Amount
=
0
;
discount
SourcePrice
=
0
;
}
if
(
orderDetailsBean
.
getRestaurantDiscountVO
()
!=
null
)
{
discountAmount
=
MoneyUtil
.
sum
(
discountAmount
,
orderDetail
.
getPrice
());
//累加折扣總額
discountSourcePrice
=
MoneyUtil
.
sum
(
discountSourcePrice
,
orderDetail
.
getPrice
());
//食品折扣狀態為已送單
orderDetail
.
setDiscountStatus
(
1
);
//往下找
int
nextIndex
=
i
+
1
;
if
(
orderList
.
size
()
==
nextIndex
||
orderList
.
get
(
nextIndex
).
getParentId
()
==
0
)
{
//已到結尾或者下一個食品是主食品
Discount
discount
=
getDiscountItem
(
orderDetailsBean
.
getRestaurantDiscountVO
(),
parentId
,
discount
Amount
);
Discount
discount
=
getDiscountItem
(
orderDetailsBean
.
getRestaurantDiscountVO
(),
parentId
,
discount
SourcePrice
);
if
(
discount
!=
null
)
{
orderDetailList
.
add
(
discountTransOrderDetail
(
discount
,
false
,
parentId
,
discountAmount
));
orderDetailList
.
add
(
discountTransOrderDetail
(
discount
,
false
,
parentId
,
discountSourcePrice
));
}
}
}
...
...
@@ -648,6 +711,7 @@ public class OrderDetail implements Serializable {
orderDetail
.
setPrice
(
number
*
orderDetail
.
getUnit_price
());
orderDetail
.
setNumber
(
number
);
orderDetail
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
orderDetail
.
setPrintseting
(
foods
.
getPrintSeting
());
orderDetail
.
setIsfood
(
true
);
orderDetail
.
setNew
(
true
);
orderDetail
.
setType
(
FOOD_TYPE
);
...
...
@@ -735,7 +799,7 @@ public class OrderDetail implements Serializable {
* @param discount
* @return
*/
public
static
OrderDetail
discountTransOrderDetail
(
Discount
discount
,
boolean
isNew
,
long
id
,
double
sourcePrice
)
{
public
static
OrderDetail
discountTransOrderDetail
(
Discount
discount
,
boolean
isNew
,
long
id
,
double
sourcePrice
)
{
double
discountPrice
=
Discount
.
calculationDiscount
(
discount
,
sourcePrice
);
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/utils/MoneyUtil.java
View file @
28b1c416
...
...
@@ -17,7 +17,7 @@ public class MoneyUtil {
// 總金額小數位
public
static
int
rounding
,
RoundingDecimal
;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public
static
int
ItemDecimals
=
1
;
public
static
int
ItemDecimals
=
2
;
public
static
double
get_ItemDecimals_money
(
double
money
)
{
double
rMoney
=
money
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/constant
/MealConstant.java
→
public-base/src/main/java/com/gingersoft/gsa/cloud/constans
/MealConstant.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
constant
;
package
com
.
gingersoft
.
gsa
.
cloud
.
constans
;
/**
* 作者:ELEGANT_BIN
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/database/bean/Discount.java
View file @
28b1c416
...
...
@@ -61,6 +61,8 @@ public class Discount {
private
Date
begin_time
;
private
Date
end_time
;
@Generated
(
hash
=
1370540661
)
public
Discount
(
Long
id
,
int
restaurant_id
,
double
amount
,
double
discount_value
,
int
type
,
int
status
,
String
remark
,
Date
begin_time
,
Date
end_time
)
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/ComboAdapter.java
→
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/ComboAdapter.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.drawable.GradientDrawable
;
...
...
@@ -7,12 +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
;
...
...
@@ -67,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_item_combo
;
return
R
.
layout
.
ui_
meal_
item_combo
;
}
class
ComboItemHolder
extends
BaseHolder
<
ComboItem
>
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/FoodAdapter.java
→
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/FoodAdapter.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.Color
;
...
...
@@ -8,12 +8,11 @@ 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.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
...
...
@@ -72,7 +71,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_item_food
;
return
R
.
layout
.
ui_
meal_
item_food
;
}
class
FoodItemHolder
extends
BaseHolder
<
Food
>
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/FoodGroupAdapter.java
→
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/FoodGroupAdapter.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.view.Gravity
;
...
...
@@ -6,21 +6,18 @@ 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.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
butterknife.BindView
;
/**
...
...
@@ -77,7 +74,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
meal_item_food_group
;
return
R
.
layout
.
ui_
meal_item_food_group
;
}
class
FoodlKindItemHolder
extends
BaseHolder
<
Food
>
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp
/ui/adapter/meal/ModifierAdapter.java
→
public-base/src/main/java/com/gingersoft/gsa/cloud
/ui/adapter/meal/ModifierAdapter.java
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
.
meal
;
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
.
meal
;
import
android.content.Context
;
import
android.graphics.drawable.GradientDrawable
;
import
android.view.Gravity
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
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.Modifier
;
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
;
...
...
@@ -69,7 +65,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_item_combo
;
return
R
.
layout
.
ui_
meal_
item_combo
;
}
class
ComboItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/ui/widget/dialog/CommonTipDialog.java
View file @
28b1c416
...
...
@@ -32,7 +32,6 @@ public class CommonTipDialog {
*/
public
static
void
showDoubtDialog
(
Activity
context
,
String
msg
,
Class
c
,
Object
object
,
String
methodName
,
Class
[]
parameterTypes
,
Object
[]
parameters
)
{
QMUIDialog
.
MessageDialogBuilder
dialogBuilder
=
new
QMUIDialog
.
MessageDialogBuilder
(
context
);
dialogBuilder
.
setTitle
(
"溫馨提示"
);
dialogBuilder
.
setTitleIcon
(
R
.
drawable
.
qmui_icon_dialog_doubt
);
dialogBuilder
.
setMessage
(
msg
);
if
(!
TextUtils
.
isEmpty
(
methodName
))
{
...
...
@@ -40,6 +39,9 @@ public class CommonTipDialog {
}
dialogBuilder
.
addAction
(
0
,
"確認"
,
QMUIDialogAction
.
ACTION_PROP_NEGATIVE
,
(
dialog
,
index
)
->
{
dialog
.
dismiss
();
if
(
TextUtils
.
isEmpty
(
methodName
)){
return
;
}
try
{
Method
method
=
c
.
getDeclaredMethod
(
methodName
,
parameterTypes
);
method
.
setAccessible
(
true
);
...
...
table-mode/src/main/res/drawable-v24
/meal_food_group_point_focuese.xml
→
public-base/src/main/res/drawable
/meal_food_group_point_focuese.xml
View file @
28b1c416
File moved
table-mode/src/main/res/drawable-v24
/meal_food_group_point_unfocused.xml
→
public-base/src/main/res/drawable
/meal_food_group_point_unfocused.xml
View file @
28b1c416
File moved
public-base/src/main/res/layout/ui_item_combo.xml
→
public-base/src/main/res/layout/ui_
meal_
item_combo.xml
View file @
28b1c416
File moved
public-base/src/main/res/layout/ui_item_food.xml
→
public-base/src/main/res/layout/ui_
meal_
item_food.xml
View file @
28b1c416
File moved
table-mode/src/main/res/layout/
meal_item_food_group.xml
→
public-base/src/main/res/layout/ui_
meal_item_food_group.xml
View file @
28b1c416
File moved
settings.gradle
View file @
28b1c416
...
...
@@ -10,6 +10,7 @@ include 'cc-register',
'table-mode'
,
'demo_interceptors'
,
'print-module'
,
'manager'
,
rootProject
.
name
=
'GSA-Cloud'
,
'pools'
,
'qm-qmui'
,
'qm-lintrule'
table-mode/src/main/AndroidManifest.xml
View file @
28b1c416
...
...
@@ -10,6 +10,7 @@
<activity
android:name=
".mvp.ui.activity.OrderContentActivity"
/>
<activity
android:name=
".mvp.ui.activity.orderManager.OrderCenterActivity"
/>
<activity
android:name=
".mvp.ui.activity.orderManager.OrderDetailActivity"
/>
<activity
android:name=
".mvp.ui.activity.SoldoutCtrlActivity"
/>
<meta-data
android:name=
"com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
...
...
table-mode/src/main/debug/AndroidManifest.xml
View file @
28b1c416
...
...
@@ -13,6 +13,7 @@
android:theme=
"@style/AppTheme.Base"
>
<activity
android:name=
".mvp.ui.activity.orderManager.OrderDetailActivity"
/>
<activity
android:name=
".mvp.ui.activity.orderManager.OrderCenterActivity"
/>
<activity
android:name=
".mvp.ui.activity.SoldoutCtrlActivity"
/>
<activity
android:name=
".mvp.ui.activity.TableActivity"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/ComponentTable.java
View file @
28b1c416
...
...
@@ -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.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
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
...
...
@@ -39,6 +40,9 @@ public class ComponentTable implements IComponent {
case
"showOrderCenterActivity"
:
openOrderCenterActivity
(
cc
);
break
;
case
"showSoldoutCtrlActivity"
:
openSoldoutCtrlActivity
(
cc
);
break
;
case
"getLifecycleFragment"
:
//demo for provide fragment object to other component
getLifecycleFragment
(
cc
);
...
...
@@ -79,6 +83,11 @@ public class ComponentTable implements IComponent {
CC
.
sendCCResult
(
cc
.
getCallId
(),
CCResult
.
success
(
"userName"
,
userName
));
}
private
void
openSoldoutCtrlActivity
(
CC
cc
)
{
CCUtil
.
navigateTo
(
cc
,
SoldoutCtrlActivity
.
class
);
CC
.
sendCCResult
(
cc
.
getCallId
(),
CCResult
.
success
());
}
private
void
openTableActivity
(
CC
cc
)
{
CCUtil
.
navigateTo
(
cc
,
TableActivity
.
class
);
CC
.
sendCCResult
(
cc
.
getCallId
(),
CCResult
.
success
());
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/di/component/SoldoutCtrlComponent.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.gingersoft.gsa.cloud.table.di.module.SoldoutCtrlModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.scope.ActivityScope
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
SoldoutCtrlModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
SoldoutCtrlComponent
{
void
inject
(
SoldoutCtrlActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
SoldoutCtrlComponent
.
Builder
view
(
SoldoutCtrlContract
.
View
view
);
SoldoutCtrlComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
SoldoutCtrlComponent
build
();
}
}
\ No newline at end of file
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SoldoutCtrlModule.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.SoldoutCtrlModel
;
import
dagger.Binds
;
import
dagger.Module
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
SoldoutCtrlModule
{
@Binds
abstract
SoldoutCtrlContract
.
Model
bindSoldoutCtrlModel
(
SoldoutCtrlModel
model
);
}
\ No newline at end of file
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
View file @
28b1c416
...
...
@@ -45,7 +45,7 @@ public interface MealStandContract {
void
initFineItemTabBarViewPage
();
void
s
how
FinePage
();
void
s
etCurrent
FinePage
();
void
setPluMode
();
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.mvp.IModel
;
import
com.jess.arms.mvp.IView
;
import
java.util.List
;
import
androidx.recyclerview.widget.RecyclerView
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
SoldoutCtrlContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
void
setCurrentSoldoutFoodAdapter
(
DefaultAdapter
adapter
);
void
setFoodGroupAdapter
(
DefaultAdapter
adapter
);
void
setFoodAdapter
(
DefaultAdapter
adapter
);
void
setComboAdapter
(
DefaultAdapter
adapter
);
RecyclerView
getRecycleCurrentSoldoutFood
();
RecyclerView
getRecycleFoodGroup
();
RecyclerView
getRecycleFood
();
void
setFoodGroupRecycleSpanCount
(
int
size
);
void
setFoodRecycleSpanCount
(
int
size
);
int
getSoldoutType
();
boolean
isInitFineItemLayout
();
void
initFineItemTabBarViewPage
();
void
showFoodLayoutVisibility
();
void
showFineItemLayoutVisibility
();
void
showViewModeVisibility
(
int
...
viewMode
);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
List
<
Food
>
queryDB_FoodGroupList
();
List
<
Food
>
queryDB_FoodList
(
long
parentId
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
);
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
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.google.gson.Gson
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
java.util.List
;
import
javax.inject.Inject
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
SoldoutCtrlModel
extends
BaseModel
implements
SoldoutCtrlContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
SoldoutCtrlModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
@Override
public
List
<
Food
>
queryDB_FoodGroupList
()
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodGroupByQueryBuilder
();
return
foods
;
}
@Override
public
List
<
Food
>
queryDB_FoodList
(
long
parentId
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodByQueryBuilder
(
parentId
);
return
foods
;
}
@Override
public
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
)
{
ComboItemDaoUtils
comboItemDao
=
new
ComboItemDaoUtils
(
mApplication
);
List
<
ComboItem
>
foodCombo
=
comboItemDao
.
queryComboItemsByFidQueryBuilder
(
fid
);
return
foodCombo
;
}
}
\ No newline at end of file
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
28b1c416
...
...
@@ -177,7 +177,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return
discountList
;
}
private
void
initOrderAdapter
()
{
if
(
mSelectMealAdapter
==
null
)
{
mSelectMealAdapter
=
new
SelectMealAdapter
(
IActivity
,
mOrderFoodList
,
this
);
...
...
@@ -583,6 +582,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request
.
setNumber
(
item
.
getNumber
());
request
.
setPrice
(
item
.
getUnit_price
());
request
.
setType
(
item
.
getType
());
request
.
setPrintSeting
(
item
.
getPrintseting
());
request
.
setAblediscount
(
item
.
getAblediscount
());
request
.
setDiscountId
(
getDiscountIdByParentId
(
foodList
,
mainProductId
));
request
.
setLunchboxPrice
(
0
);
...
...
@@ -666,11 +666,12 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request
.
setNumber
(
item
.
getNumber
());
request
.
setPrice
(
item
.
getUnit_price
());
request
.
setType
(
item
.
getType
());
request
.
setPrintSeting
(
item
.
getPrintseting
());
request
.
setAblediscount
(
item
.
getAblediscount
());
request
.
setDiscountId
(
getDiscountIdByParentId
(
foodList
,
mainParentId
));
request
.
setLunchboxPrice
(
0
);
if
(
item
.
isNew
()
||
item
.
get
Ablediscount
()
==
1
)
{
//這裡只添加新食品或有
折扣食品每次都更新
if
(
item
.
isNew
()
||
item
.
get
DiscountStatus
()
==
0
)
{
//這裡只添加新食品或有
新折扣食品
orderItems
.
add
(
request
);
//保存新食品,打印用到
MyOrderManage
.
getInstance
().
getNewFoodList
().
add
(
item
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
View file @
28b1c416
...
...
@@ -8,7 +8,7 @@ import android.view.View;
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.
table.mvp.model.constant
.MealConstant
;
import
com.gingersoft.gsa.cloud.
constans
.MealConstant
;
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
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemKindPresenter.java
View file @
28b1c416
...
...
@@ -8,7 +8,7 @@ import android.view.View;
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.
table.mvp.model.constant
.MealConstant
;
import
com.gingersoft.gsa.cloud.
constans
.MealConstant
;
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
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
28b1c416
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
...
...
@@ -28,16 +29,16 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
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
;
import
com.gingersoft.gsa.cloud.
table.mvp.model.constant
.MealConstant
;
import
com.gingersoft.gsa.cloud.
constans
.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter
;
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.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.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
...
...
@@ -187,15 +188,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView
.
recordOperat
(
true
);
RvMealClicked
=
true
;
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
}
if
(
IActivity
.
getShowFinePage
()
!=
2
)
{
RvMealClicked
=
true
;
//设置当前操作的食品
mCurrentOrderDetailBean
=
datasBean
;
mSelectMealAdapter
.
setMyOrderManageSelectPosition
();
loadComboData
(
datasBean
,
true
);
}
}
@Override
public
void
onMealCountDelete
(
OrderDetail
datasBean
,
int
position
)
{
...
...
@@ -215,6 +217,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
mRootView
.
recordOperat
(
true
);
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
}
if
(!
foodConditionFilter
(
datasBean
))
{
return
;
}
...
...
@@ -344,7 +349,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
private
void
addModifierItem
(
Modifier
datasBean
)
{
long
id
=
mCurrentOrderDetailBean
.
isNew
()
?
mCurrentOrderDetailBean
.
getProductId
()
:
mCurrentOrderDetailBean
.
getId
();
mCurrentOrderDetailBean
=
OrderDetail
.
modifierTransOrderDetail
(
datasBean
,
id
,
1
);
int
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
int
addPosition
=
mOrderFoodList
.
size
();
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
addPosition
=
addMultipleModifierItems
(
mCurrentOrderDetailBean
,
addPosition
);
}
else
{
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
}
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
...
...
@@ -358,7 +369,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
id
=
mSelectMealAdapter
.
getCurrentMainOrderDetail
().
getId
();
}
}
mCurrentOrderDetailBean
=
OrderDetail
.
discountTransOrderDetail
(
datasBean
,
true
,
id
,
getDisount
Price
());
mCurrentOrderDetailBean
=
OrderDetail
.
discountTransOrderDetail
(
datasBean
,
true
,
id
,
getDisountSource
Price
());
int
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
...
...
@@ -804,15 +815,17 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
public
void
deleteFoodItem
(
int
deleteStyle
)
{
if
(
getOrderFoodLists
().
size
()
==
0
||
mSelectMealAdapter
.
getSelect_position
()
>=
getOrderFoodLists
().
size
())
{
if
(
!
mSelectMealAdapter
.
canDeleteFood
())
{
return
;
}
//未選擇食品時,設置默認選擇最後一個
if
(
mSelectMealAdapter
.
getSelect_position
()
==
-
1
)
{
if
(
getOrderFoodLists
().
size
()
>
0
)
{
mSelectMealAdapter
.
setSelectPosition
(
getOrderFoodLists
().
size
()
-
1
);
}
}
OrderDetail
deleteFood
=
getOrderFoodLists
().
get
(
mSelectMealAdapter
.
getSelect_position
());
if
(!
deleteFood
.
isNew
())
{
...
...
@@ -1226,6 +1239,49 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
/**
* 全選
*
*/
public
void
setSelectAll
()
{
for
(
OrderDetail
item
:
mOrderFoodList
)
{
item
.
setSelected
(
1
);
}
mSelectMealAdapter
.
notifyDataSetChanged
();
}
/**
* 反選
*/
public
void
setAntiSelect
()
{
for
(
OrderDetail
item
:
mOrderFoodList
)
{
if
(
item
.
getSelected
()
==
0
)
{
item
.
setSelected
(
1
);
}
else
{
item
.
setSelected
(
0
);
}
}
mSelectMealAdapter
.
notifyDataSetChanged
();
}
/**
* 添加多選細項
*/
public
int
addMultipleModifierItems
(
OrderDetail
modifierItem
,
int
addPosition
)
{
for
(
int
i
=
0
;
i
<
mOrderFoodList
.
size
();
i
++)
{
OrderDetail
item
=
mOrderFoodList
.
get
(
i
);
if
(
item
.
getSelected
()
!=
0
)
{
//往下找
int
nextIndex
=
i
+
1
;
if
(
item
.
getItemType
()
==
1
){
mOrderFoodList
.
add
(
i
+
1
,
new
OrderDetail
(
modifierItem
));
}
}
}
mSelectMealAdapter
.
notifyDataSetChanged
();
return
addPosition
;
}
/**
* 加載折扣數據
*/
public
void
loadDiscountData
()
{
...
...
@@ -1239,10 +1295,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean
=
currentOrderBean
;
List
<
Discount
>
discountList
=
mModel
.
queryDB_DiscountList
();
// discountList.clear();
// if (discountList.size() == 0) {
// discountList.addAll(getDiscountList());
// }
mDiscountList
.
clear
();
mDiscountList
.
addAll
(
discountList
);
//根据Item个数显示每一行的个数
...
...
@@ -1255,7 +1308,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*
* @return
*/
private
double
getDisountPrice
()
{
private
double
getDisount
Source
Price
()
{
double
discount
=
0.0
;
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
28b1c416
...
...
@@ -223,11 +223,18 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
@Override
public
void
onNext
(
BaseResult
baseResult
)
{
mRootView
.
hideLoading
();
if
(
baseResult
.
isSuccess
())
{
//結賬成功
mRootView
.
paySuccess
();
}
}
@Override
public
void
onError
(
Throwable
t
)
{
super
.
onError
(
t
);
mRootView
.
hideLoading
();
}
});
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
import
android.app.Application
;
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.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.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
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
SoldoutCtrlPresenter
extends
BasePresenter
<
SoldoutCtrlContract
.
Model
,
SoldoutCtrlContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
private
SoldoutCtrlActivity
IActivity
;
private
CurrentSlodoutFoodAdapter
mCurrentSlodoutFoodAdapter
;
private
FoodGroupAdapter
mFoodGroupAdapter
;
private
FoodAdapter
mFoodAdapter
;
private
ComboAdapter
mComboAdapter
;
//食品数据
private
List
<
Food
>
mFoodGroupList
=
new
ArrayList
<>();
private
List
<
Food
>
mFoodList
=
new
ArrayList
<>();
private
List
<
ComboItem
>
mFoodComboList
=
new
ArrayList
<>();
//细项数据
private
List
<
Modifier
>
mModifierList
=
new
ArrayList
<>();
@Inject
public
SoldoutCtrlPresenter
(
SoldoutCtrlContract
.
Model
model
,
SoldoutCtrlContract
.
View
rootView
)
{
super
(
model
,
rootView
);
this
.
IActivity
=
(
SoldoutCtrlActivity
)
rootView
;
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
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
(
mFoodAdapter
==
null
)
{
mFoodAdapter
=
new
FoodAdapter
(
mApplication
,
mFoodList
);
mRootView
.
setFoodAdapter
(
mFoodAdapter
);
}
if
(
mComboAdapter
==
null
)
{
mComboAdapter
=
new
ComboAdapter
(
IActivity
,
mFoodComboList
);
mRootView
.
setComboAdapter
(
mComboAdapter
);
}
}
public
void
initFoodListener
()
{
mFoodAdapter
.
setOnItemClickListener
(
new
FoodAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
// loadComboData(datasBean);
}
});
mComboAdapter
.
setOnItemClickListener
(
new
ComboAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
ComboItem
datasBean
,
int
position
)
{
}
});
}
public
void
initFoodData
()
{
List
<
Food
>
foodGroupList
=
mModel
.
queryDB_FoodGroupList
();
if
(
foodGroupList
!=
null
&&
foodGroupList
.
size
()
>
0
)
{
mFoodGroupList
.
addAll
(
foodGroupList
);
//默認選中第一組
mFoodGroupList
.
get
(
0
).
setSelected
(
true
);
IActivity
.
initFoodGroupView
(
mFoodGroupList
);
changedMealByParentId
(
mFoodGroupList
.
get
(
0
).
getId
());
}
}
public
void
changedMealByParentId
(
long
parentId
)
{
List
<
Food
>
foodList
=
mModel
.
queryDB_FoodList
(
parentId
);
mFoodAdapter
.
resetSelect
(-
1
,
null
);
if
(
foodList
!=
null
)
{
updateFoodData
(
foodList
);
}
}
private
void
loadComboData
(
Food
food
)
{
long
fid
=
food
.
getId
();
//获取套餐细项数据
List
<
ComboItem
>
comboItems
=
mModel
.
queryDB_ComboList
(
fid
);
//更新套餐数据
updateComboData
(
comboItems
);
mRootView
.
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
}
/**
* 更新食品數據
*
* @param foodList
*/
private
void
updateFoodData
(
List
<
Food
>
foodList
)
{
mFoodList
.
clear
();
mFoodList
.
addAll
(
foodList
);
//根据Item个数显示每一行的个数
mRootView
.
setFoodRecycleSpanCount
(
mFoodList
.
size
());
mFoodAdapter
.
notifyDataSetChanged
();
}
/**
* 更新套餐數據
*
* @param foodComboList
*/
private
void
updateComboData
(
List
<
ComboItem
>
foodComboList
)
{
mFoodComboList
.
clear
();
mFoodComboList
.
addAll
(
foodComboList
);
mComboAdapter
.
notifyDataSetChanged
();
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
28b1c416
...
...
@@ -34,11 +34,9 @@ import androidx.recyclerview.widget.RecyclerView;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.common.bean.TableBean
;
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.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
...
@@ -52,13 +50,13 @@ import com.gingersoft.gsa.cloud.table.R2;
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.
table.mvp.model.constant
.MealConstant
;
import
com.gingersoft.gsa.cloud.
constans
.MealConstant
;
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.
FoodGroup
Adapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.
SelectMeal
Adapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemKindFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.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
;
...
...
@@ -211,22 +209,26 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
Button
btn_taste
;
@BindView
(
R2
.
id
.
btn_msg
)
Button
btn_msg
;
// @BindView(R2.id.btn_multiple_selection)
// @BindView(R2.id.btn_multiple_selection)
// Button btn_multiple_selection;
@BindView
(
R2
.
id
.
btn_delete
)
Button
btn_delete
;
@BindView
(
R2
.
id
.
btn_end
)
Button
btn_end
;
private
ChooseNumberDialog
chooseNumberDialog
;
private
FragmentManager
fm
;
private
FineItemAllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
,
modCommFineItemFragment
;
// private FineItemKindFragment fineItemKindFragment;
private
FineItemAllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
//是否初始化细项布局
/**
* 是否初始化细项布局
*/
private
boolean
initFineItemLayout
=
false
;
private
int
showFinePage
=
0
;
private
ChooseNumberDialog
chooseNumberDialog
;
/**
* 公共細項頁碼:0=口味;1=特別信息
*/
private
int
currentFinePage
=
0
;
private
int
mCurrentViewMode
;
private
boolean
isPluMode
=
false
;
...
...
@@ -377,7 +379,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
//循坏加入点点图片组
ivPoints
[
i
]
=
new
ImageView
(
this
);
if
(
i
==
0
)
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_focuese
);
}
else
{
...
...
@@ -436,7 +437,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
// Fragment标签
modSasteFineItemFragment
=
FineItemAllFragment
.
newInstance
();
modMsgFineItemFragment
=
FineItemAllFragment
.
newInstance
();
modCommFineItemFragment
=
FineItemAllFragment
.
newInstance
();
fragmentList
.
add
(
modSasteFineItemFragment
);
fragmentList
.
add
(
modMsgFineItemFragment
);
// fragmentList.add(modCommFineItemFragment);
...
...
@@ -487,11 +487,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public
void
onPageSelected
(
int
position
)
{
if
(
showFinePage
==
2
&&
position
!=
2
)
{
//從多選頁離開 重置選中
mPresenter
.
resetSelected
();
}
showFinePage
=
position
;
currentFinePage
=
position
;
}
@Override
...
...
@@ -502,14 +498,14 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
initFineItemLayout
=
true
;
s
how
FinePage
();
s
etCurrent
FinePage
();
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
,
MealConstant
.
fine_tabs_ViewMode
);
}
@Override
public
void
s
how
FinePage
()
{
pager_fine
.
setCurrentItem
(
show
FinePage
);
public
void
s
etCurrent
FinePage
()
{
pager_fine
.
setCurrentItem
(
current
FinePage
);
}
@Override
...
...
@@ -545,6 +541,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
return
false
;
}
@OnClick
(
R2
.
id
.
btn_meal_discount
)
void
onClickDiscount
()
{
//更新折扣数据
...
...
@@ -553,6 +550,23 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
showViewModeVisibility
(
MealConstant
.
discount_ViewMode
);
}
@OnClick
(
R2
.
id
.
btn_multiple_selection
)
void
onClickMultipleSelection
()
{
currentFinePage
=
0
;
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
showRemarkInfo
();
}
@OnClick
(
R2
.
id
.
btn_select_all
)
void
onClickSelectAll
()
{
mPresenter
.
setSelectAll
();
}
@OnClick
(
R2
.
id
.
btn_anti_selection
)
void
onClickAntiSelection
()
{
mPresenter
.
setAntiSelect
();
}
@OnClick
({
R2
.
id
.
btn_key1
,
R2
.
id
.
btn_key2
,
R2
.
id
.
btn_key3
,
R2
.
id
.
btn_key4
,
R2
.
id
.
btn_key5
,
R2
.
id
.
btn_keys
,
R2
.
id
.
btn_numberman
,
R2
.
id
.
btn_fid
,
R2
.
id
.
btn_meal_delete
,
R2
.
id
.
btn_send_order
,
R2
.
id
.
tv_no_save_return
,
R2
.
id
.
fl_order_content
,
R2
.
id
.
btn_taste
,
R2
.
id
.
btn_msg
,
R2
.
id
.
btn_delete
,
R2
.
id
.
btn_end
})
...
...
@@ -572,6 +586,8 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
}
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_meal_delete
)
{
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
return
;
mPresenter
.
deleteFoodItem
(
1
);
}
else
if
(
id
==
R
.
id
.
btn_send_order
)
{
mPresenter
.
sendOrder
(
false
);
...
...
@@ -581,22 +597,17 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
}
else
if
(
id
==
R
.
id
.
tv_no_save_return
)
{
returnBeforeActivity
(
true
);
}
else
if
(
id
==
R
.
id
.
btn_taste
)
{
show
FinePage
=
0
;
current
FinePage
=
0
;
showRemarkInfo
();
}
else
if
(
id
==
R
.
id
.
btn_msg
)
{
show
FinePage
=
1
;
current
FinePage
=
1
;
showRemarkInfo
();
}
// else if (id == R.id.btn_multiple_selection) {
// showFinePage = 2;
// showRemarkInfo();
// }
else
if
(
id
==
R
.
id
.
btn_delete
)
{
}
else
if
(
id
==
R
.
id
.
btn_delete
)
{
mPresenter
.
deleteChildItem
();
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
showFinePage
=
0
;
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
)
;
//從多選頁離開 重置選中
//
mPresenter.resetSelected();
mPresenter
.
resetSelected
();
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
else
if
(
id
==
R
.
id
.
btn_key1
||
id
==
R
.
id
.
btn_key2
||
id
==
R
.
id
.
btn_key3
||
id
==
R
.
id
.
btn_key4
||
id
==
R
.
id
.
btn_key5
||
id
==
R
.
id
.
btn_keys
)
{
...
...
@@ -904,6 +915,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
case
MealConstant
.
combo_ViewMode
:
case
MealConstant
.
modifier_ViewMode
:
case
MealConstant
.
discount_ViewMode
:
case
MealConstant
.
fine_ViewMode
:
showModifyLayoutVisibility
(
true
);
break
;
}
...
...
@@ -1029,7 +1041,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
s
how
FinePage
();
s
etCurrent
FinePage
();
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
,
MealConstant
.
fine_tabs_ViewMode
);
}
...
...
@@ -1135,8 +1147,4 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
btn_end
.
setCompoundDrawables
(
endDrawable
,
null
,
null
,
null
);
}
public
int
getShowFinePage
()
{
return
showFinePage
;
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
28b1c416
...
...
@@ -29,14 +29,12 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import
com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.app.OrderConentOperatTypeConstant
;
import
com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerOrderContentComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
...
...
@@ -49,8 +47,6 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.qmuiteam.qmui.widget.popup.QMUIPopup
;
import
com.qmuiteam.qmui.widget.popup.QMUIPopups
;
import
com.qmuiteam.qmui.widget.tab.QMUITab
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
;
import
android.app.AlertDialog
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.util.SparseArray
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
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.log.LogUtil
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FoodModifierDaoUtils
;
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.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.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.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.tab.QMUITab
;
import
com.qmuiteam.qmui.widget.tab.QMUITabBuilder
;
import
com.qmuiteam.qmui.widget.tab.QMUITabIndicator
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
SoldoutCtrlActivity
extends
BaseActivity
<
SoldoutCtrlPresenter
>
implements
SoldoutCtrlContract
.
View
,
PagerGridLayoutManager
.
PageListener
{
private
SparseArray
<
View
>
map
=
new
SparseArray
<>();
@BindView
(
R2
.
id
.
tv_sold_hmmc
)
TextView
tv_sold_hmmc
;
@BindView
(
R2
.
id
.
tv_sold_hmsl
)
TextView
tv_sold_hmsl
;
@BindView
(
R2
.
id
.
ll_stand_oper
)
LinearLayout
ll_stand_oper
;
@BindView
(
R2
.
id
.
ll_food_group
)
LinearLayout
ll_food_group
;
@BindView
(
R2
.
id
.
ll_food_group_point
)
LinearLayout
ll_food_group_point
;
@BindView
(
R2
.
id
.
recycle_current_soldout_food
)
RecyclerView
recycle_current_soldout_food
;
@BindView
(
R2
.
id
.
recycle_food_group
)
RecyclerView
recycle_food_group
;
@BindView
(
R2
.
id
.
recycle_food
)
RecyclerView
recycle_food
;
@BindView
(
R2
.
id
.
recycle_combo
)
RecyclerView
recycle_combo
;
@BindView
(
R2
.
id
.
ll_fine_item
)
LinearLayout
ll_fine_item
;
//细项操作
@BindView
(
R2
.
id
.
tabSegment
)
QMUITabSegment
mTabSegment
;
@BindView
(
R2
.
id
.
contentViewPager
)
ViewPager
mContentViewPager
;
@BindView
(
R2
.
id
.
tv_soldout
)
TextView
tv_soldout
;
@BindView
(
R2
.
id
.
tv_return
)
TextView
tv_return
;
// @BindView(R2.id.btn_adddelete)
// Button btn_adddelete;
// @BindView(R2.id.btn_msg)
// Button btn_msg;
// @BindView(R2.id.btn_delete)
// Button btn_delete;
// @BindView(R2.id.btn_end)
// Button btn_end;
private
int
mCurrentViewMode
;
private
String
[]
mTypeItem
=
{
"沽清控制-食品組"
,
"沽清控制-食品"
,
"沽清控制-細項"
};
// 0-食品組 1--食品 2--細項 默認為食品
private
int
mSoldoutType
=
1
;
private
FineItemAllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
String
[]
mFineTabTitles
=
{
"口味"
,
"特別信息"
};
private
int
mCurrentFinePageIndex
;
private
boolean
mInitModData
=
false
;
private
ImageView
[]
ivPoints
;
private
int
mPageIndex
;
private
int
totalPage
;
private
FoodGroupAdapter
mFoodGroupAdapter
;
private
PagerGridLayoutManager
mLayoutManager
;
private
int
mParentRowCount
;
private
int
mParentColCount
;
private
int
mDetailColCount
=
1
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSoldoutCtrlComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@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
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
meal_activity_soldout_ctrl
;
//如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initViewMap
();
initTabAndPager
();
//初始化Recyclerview高度
initRecyclerHeight
();
//初始化适配器
mPresenter
.
initAdapter
();
//初始化食品數據
mPresenter
.
initFoodData
();
mPresenter
.
initFoodListener
();
//初始化细项控制按钮点击事件
// mPresenter.initFineItemButtonListener(this, btn_adddelete, btn_msg, btn_delete, btn_end);
}
private
void
initViewMap
()
{
map
.
put
(
MealConstant
.
food_group_ViewMode
,
ll_food_group
);
map
.
put
(
MealConstant
.
food_ViewMode
,
recycle_food
);
map
.
put
(
MealConstant
.
combo_ViewMode
,
recycle_combo
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
ll_fine_item
);
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
}
@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"
,
"項目名稱"
));
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
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);
mParentRowCount
=
GsaCloudApplication
.
androidSetting
.
getFoodTypeRow
();
mParentColCount
=
GsaCloudApplication
.
androidSetting
.
getFoodTypeCol
();
mDetailColCount
=
GsaCloudApplication
.
androidSetting
.
getFoodCol
();
}
public
void
initFoodGroupView
(
List
<
Food
>
foodGroupList
)
{
//总的页数向上取整
totalPage
=
(
int
)
Math
.
ceil
(
foodGroupList
.
size
()
*
1.0
/
GoldConstants
.
foodGriupPageSize
);
int
Rows
=
GoldConstants
.
foodGriupRows
;
if
(
foodGroupList
.
size
()
<=
GoldConstants
.
foodGriupColumns
)
{
Rows
=
1
;
}
mLayoutManager
=
new
PagerGridLayoutManager
(
Rows
,
GoldConstants
.
foodGriupColumns
,
PagerGridLayoutManager
.
HORIZONTAL
);
// 水平分页布局管理器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
recycle_food_group
.
setLayoutManager
(
mLayoutManager
);
// 设置滚动辅助工具
PagerGridSnapHelper
pageSnapHelper
=
new
PagerGridSnapHelper
();
pageSnapHelper
.
attachToRecyclerView
(
recycle_food_group
);
// 使用原生的 Adapter 即可
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
);
mFoodGroupAdapter
.
registerAdapterDataObserver
(
new
RecyclerView
.
AdapterDataObserver
()
{
@Override
public
void
onChanged
()
{
super
.
onChanged
();
int
count
=
mFoodGroupAdapter
.
getItemCount
();
}
});
recycle_food_group
.
setAdapter
(
mFoodGroupAdapter
);
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
());
}
});
int
mParentColHeight
=
GsaCloudApplication
.
androidSetting
.
getLayoutFoodTypeHeight
()
/
GsaCloudApplication
.
androidSetting
.
getFoodTypeRow
()
*
Rows
;
//设置ViewPager适配器
recycle_food_group
.
setLayoutParams
(
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
mParentColHeight
));
//添加小圆点
ivPoints
=
new
ImageView
[
totalPage
];
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
//循坏加入点点图片组
ivPoints
[
i
]
=
new
ImageView
(
this
);
if
(
i
==
0
)
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_focuese
);
}
else
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_unfocused
);
}
ivPoints
[
i
].
setPadding
(
0
,
0
,
0
,
0
);
ll_food_group_point
.
addView
(
ivPoints
[
i
]);
LinearLayout
.
LayoutParams
layoutParams
=
(
LinearLayout
.
LayoutParams
)
ivPoints
[
i
].
getLayoutParams
();
layoutParams
.
height
=
ll_food_group_point
.
getLayoutParams
().
height
;
layoutParams
.
width
=
ArmsUtils
.
getScreenWidth
(
this
)
/
totalPage
;
ivPoints
[
i
].
setLayoutParams
(
layoutParams
);
}
if
(
foodGroupList
.
size
()
>
10
)
{
ll_food_group_point
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
ll_food_group_point
.
setVisibility
(
View
.
GONE
);
}
}
@OnClick
({
R2
.
id
.
tv_return
,
R2
.
id
.
iv_fine_item_back
,
R2
.
id
.
tv_soldout
})
public
void
onClick
(
View
v
)
{
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
tv_return
)
{
if
(
mCurrentViewMode
==
MealConstant
.
fine_ViewMode
)
{
mSoldoutType
=
1
;
tv_soldout
.
setText
(
mTypeItem
[
mSoldoutType
]);
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
else
{
killMyself
();
}
}
else
if
(
id
==
R
.
id
.
tv_soldout
)
{
showClearControlDialog
();
}
else
if
(
id
==
R
.
id
.
iv_fine_item_back
)
{
ll_fine_item
.
setVisibility
(
View
.
INVISIBLE
);
recycle_food_group
.
setVisibility
(
View
.
VISIBLE
);
recycle_food
.
setVisibility
(
View
.
VISIBLE
);
}
}
private
void
showClearControlDialog
()
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
);
builder
.
setTitle
(
"沽清控制"
);
builder
.
setSingleChoiceItems
(
mTypeItem
,
mSoldoutType
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
mSoldoutType
=
which
;
tv_soldout
.
setText
(
mTypeItem
[
mSoldoutType
]);
//选择食品组需要收起食品、细项显示数据
switch
(
mSoldoutType
)
{
case
0
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
);
break
;
case
1
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
break
;
case
2
:
if
(!
mInitModData
)
{
modSasteFineItemFragment
.
onModSasteEvent
(
0
);
modMsgFineItemFragment
.
onModMsgMidEvent
(
0
);
mInitModData
=
true
;
}
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
);
break
;
}
dialog
.
dismiss
();
}
});
builder
.
create
().
show
();
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
else
LoadingDialog
.
showDialogForLoading
(
this
);
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
@Override
public
void
setCurrentSoldoutFoodAdapter
(
DefaultAdapter
adapter
)
{
initCurrentSoldoutFoodLayoutManager
();
recycle_current_soldout_food
.
setAdapter
(
adapter
);
}
@Override
public
void
setFoodGroupAdapter
(
DefaultAdapter
adapter
)
{
}
@Override
public
void
setFoodAdapter
(
DefaultAdapter
adapter
)
{
initFoodLayoutManager
(
LinearLayoutManager
.
VERTICAL
);
recycle_food
.
setAdapter
(
adapter
);
}
@Override
public
void
setComboAdapter
(
DefaultAdapter
adapter
)
{
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());
}
public
void
initFoodLayoutManager
(
int
orientation
)
{
foodRecycleLayoutManager
=
new
GridLayoutManager
(
this
,
1
,
orientation
,
false
);
recycle_food
.
setLayoutManager
(
foodRecycleLayoutManager
);
recycle_food
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
@Override
public
RecyclerView
getRecycleCurrentSoldoutFood
()
{
return
recycle_current_soldout_food
;
}
@Override
public
RecyclerView
getRecycleFoodGroup
()
{
return
recycle_food_group
;
}
@Override
public
RecyclerView
getRecycleFood
()
{
return
recycle_food
;
}
@Override
public
void
setFoodGroupRecycleSpanCount
(
int
size
)
{
}
@Override
public
void
setFoodRecycleSpanCount
(
int
size
)
{
if
(
size
>
0
)
{
if
(
size
>
mDetailColCount
)
{
initFoodLayoutManager
(
LinearLayoutManager
.
VERTICAL
);
foodRecycleLayoutManager
.
setSpanCount
(
mDetailColCount
);
}
else
if
(
size
<=
mDetailColCount
)
{
//只有一行就使用水平显示以免不能占满
initFoodLayoutManager
(
LinearLayoutManager
.
HORIZONTAL
);
}
}
}
@Override
public
int
getSoldoutType
()
{
return
mSoldoutType
;
}
@Override
public
boolean
isInitFineItemLayout
()
{
return
false
;
}
@Override
public
void
initFineItemTabBarViewPage
()
{
}
@Override
public
void
showFoodLayoutVisibility
()
{
}
@Override
public
void
showFineItemLayoutVisibility
()
{
}
@Override
public
void
showViewModeVisibility
(
int
...
viewMode
)
{
//將所有的view隱藏
for
(
int
i
=
0
;
i
<
map
.
size
();
i
++)
{
map
.
valueAt
(
i
).
setVisibility
(
View
.
INVISIBLE
);
}
//設置當前mode為第一個傳入的mode
for
(
int
mode
:
viewMode
)
{
this
.
mCurrentViewMode
=
mode
;
break
;
}
//顯示所有傳入的需要顯示的view
for
(
int
mode
:
viewMode
)
{
map
.
get
(
mode
).
setVisibility
(
View
.
VISIBLE
);
}
}
@Override
public
void
onPageSizeChanged
(
int
pageSize
)
{
}
@Override
public
void
onPageSelect
(
int
pageIndex
)
{
mPageIndex
=
pageIndex
;
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
if
(
i
==
pageIndex
)
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_focuese
);
}
else
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_unfocused
);
}
}
}
private
void
initTabAndPager
()
{
QMUIFragmentPagerAdapter
pagerAdapter
=
new
QMUIFragmentPagerAdapter
(
getSupportFragmentManager
())
{
@Override
public
Fragment
createFragment
(
int
position
)
{
switch
(
position
)
{
case
1
:
if
(
modMsgFineItemFragment
!=
null
)
{
return
modMsgFineItemFragment
;
}
modMsgFineItemFragment
=
FineItemAllFragment
.
newInstance
();
return
modMsgFineItemFragment
;
default
:
if
(
modSasteFineItemFragment
!=
null
)
{
return
modSasteFineItemFragment
;
}
modSasteFineItemFragment
=
FineItemAllFragment
.
newInstance
();
return
modSasteFineItemFragment
;
}
}
@Override
public
int
getCount
()
{
return
mFineTabTitles
.
length
;
}
@Override
public
CharSequence
getPageTitle
(
int
position
)
{
return
""
;
}
};
QMUITabBuilder
builder
=
mTabSegment
.
tabBuilder
();
QMUITab
tab1
=
builder
.
setText
(
mFineTabTitles
[
0
])
.
build
(
mContext
);
QMUITab
tab2
=
builder
.
setText
(
mFineTabTitles
[
1
])
.
build
(
mContext
);
mTabSegment
.
addTab
(
tab1
)
.
addTab
(
tab2
);
mContentViewPager
.
setAdapter
(
pagerAdapter
);
mContentViewPager
.
setCurrentItem
(
mCurrentFinePageIndex
);
int
space
=
QMUIDisplayHelper
.
dp2px
(
this
,
16
);
mTabSegment
.
setIndicator
(
new
QMUITabIndicator
(
QMUIDisplayHelper
.
dp2px
(
this
,
2
),
false
,
true
));
mTabSegment
.
setDefaultTextSize
(
QMUIDisplayHelper
.
dp2px
(
this
,
16
),
QMUIDisplayHelper
.
dp2px
(
this
,
16
));
mTabSegment
.
setPadding
(
space
,
0
,
space
,
0
);
mTabSegment
.
setupWithViewPager
(
mContentViewPager
,
false
);
mTabSegment
.
setOnTabClickListener
(
new
QMUITabSegment
.
OnTabClickListener
()
{
@Override
public
void
onTabClick
(
int
index
)
{
mCurrentFinePageIndex
=
index
;
}
});
mTabSegment
.
addOnTabSelectedListener
(
new
QMUITabSegment
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
int
index
)
{
mCurrentFinePageIndex
=
index
;
}
@Override
public
void
onTabUnselected
(
int
index
)
{
}
@Override
public
void
onTabReselected
(
int
index
)
{
LogUtil
.
d
(
TAG
,
"onTabReselected "
+
index
);
}
@Override
public
void
onDoubleTap
(
int
index
)
{
LogUtil
.
d
(
TAG
,
"onDoubleTap "
+
index
);
}
});
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
View file @
28b1c416
...
...
@@ -327,6 +327,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
orderBean
.
setStatus
(
datasBean
.
getStatus
());
orderBean
.
setOrderNo
(
datasBean
.
getOrderNo
());
orderBean
.
setPerson
(
datasBean
.
getPerson
());
orderBean
.
setType
(
datasBean
.
getType
());
orderBean
.
setRemark
(
datasBean
.
getRemark
());
orderBean
.
setDiscountAmount
(
datasBean
.
getDiscountAmount
());
orderBean
.
setDiscountValue
(
datasBean
.
getDiscountValue
());
orderBean
.
setCreateTime
(
datasBean
.
getCreateTime
());
MyOrderManage
.
getInstance
().
setOrderBean
(
orderBean
);
...
...
@@ -355,10 +359,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
MyOrderManage
.
getInstance
().
setOrderFoodList
(
orderDetailList
);
MyOrderManage
.
getInstance
().
setOrderId
(
orderDetailItem
.
getId
());
OpenTableManage
.
getDefault
().
setPeopleNumber
(
orderDetailItem
.
getPerson
());
TableBean
.
DataBean
dataBean
=
new
TableBean
.
DataBean
();
dataBean
.
setTableName
(
orderDetailItem
.
getTableName
());
dataBean
.
setCreateTime
(
TimeUtil
.
getStringByFormat
(
new
Date
(
orderDetailItem
.
getCreateTime
()),
TimeUtil
.
dateFormatYMDHM
));
OpenTableManage
.
getDefault
().
setTableBean
(
dataBean
);
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"printActivity"
)
.
addParam
(
"type"
,
2
)
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/CurrentSlodoutFoodAdapter.java
0 → 100644
View file @
28b1c416
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
adapter
;
import
android.view.View
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
java.util.List
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/6/27
* 修订历史:2018/6/27
* 描述:
*/
public
class
CurrentSlodoutFoodAdapter
extends
DefaultAdapter
<
Object
>
{
public
CurrentSlodoutFoodAdapter
(
List
<
Object
>
infos
)
{
super
(
infos
);
}
@Override
public
BaseHolder
<
Object
>
getHolder
(
View
v
,
int
viewType
)
{
return
null
;
}
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
0
;
}
//
// 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);
//
// }
//
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
View file @
28b1c416
...
...
@@ -77,7 +77,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_item_food
;
return
R
.
layout
.
ui_
meal_
item_food
;
}
class
DateTimeItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
View file @
28b1c416
...
...
@@ -77,7 +77,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
@Override
public
int
getLayoutId
(
int
viewType
)
{
return
R
.
layout
.
ui_item_food
;
return
R
.
layout
.
ui_
meal_
item_food
;
}
class
FineItemHolder
extends
BaseHolder
<
Modifier
>
{
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
View file @
28b1c416
...
...
@@ -8,11 +8,9 @@ import android.widget.TextView;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtil
;
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.OrderDetailItem
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterDetailFoodAdapter.java
View file @
28b1c416
...
...
@@ -33,7 +33,12 @@ public class OrderCenterDetailFoodAdapter extends BaseQuickAdapter<SectionTextIt
}
else
{
helper
.
setVisible
(
R
.
id
.
tv_center
,
false
);
}
if
(
Double
.
parseDouble
(
item
.
getRightText
())
<
0
)
{
//折扣
helper
.
setText
(
R
.
id
.
tv_right
,
"-$"
+
Math
.
abs
(
Double
.
parseDouble
(
item
.
getRightText
())));
}
else
{
helper
.
setText
(
R
.
id
.
tv_right
,
"$"
+
item
.
getRightText
());
}
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
28b1c416
...
...
@@ -14,7 +14,7 @@ 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.base.common.bean.OrderDetail
;
import
com.gingersoft.gsa.cloud.
table.mvp.model.constant
.MealConstant
;
import
com.gingersoft.gsa.cloud.
constans
.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
...
...
@@ -64,6 +64,14 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
public
int
select_full_start_position
=
0
;
public
int
select_full_end_position
=
0
;
/**
* 選中模式(1=單選,2=多選)
*/
public
static
final
int
SINGLE_SELECTED
=
1
;
public
static
final
int
MULTIPLE_SELECTED
=
2
;
private
int
selectedMode
=
SINGLE_SELECTED
;
public
SelectMealAdapter
(
Context
context
,
List
<
OrderDetail
>
data
,
BasePresenter
presenter
)
{
super
(
data
);
this
.
mContext
=
context
;
...
...
@@ -139,11 +147,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
if
(
mOnItemClickListener
!=
null
)
{
int
position
=
this
.
getPosition
();
if
(
position
<
mInfos
.
size
())
{
// if (mMealStandActivity != null) {
//
// } else {
if
(
selectedMode
==
MULTIPLE_SELECTED
)
{
if
(
mInfos
.
get
(
position
).
getSelected
()
!=
0
&&
mInfos
.
get
(
position
).
getItemType
()
!=
1
)
{
return
;
}
}
setSelectPosition
(
position
);
// }
//设置当前选中的食品或食品组
mOnItemClickListener
.
onItemClick
(
mInfos
.
get
(
position
),
position
);
}
...
...
@@ -322,7 +331,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return
addPosition
;
}
p
rivate
int
addPositionItem
(
OrderDetail
addFoodBean
)
{
p
ublic
int
addPositionItem
(
OrderDetail
addFoodBean
)
{
int
addPosition
=
select_position
;
boolean
upAdd
=
true
;
...
...
@@ -767,6 +776,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
}
if
(
resetMultipleSelected
())
{
//再次點擊直接恢復
notifyDataSetChanged
();
return
;
}
while
(
checkOrder
.
getItemType
()
!=
1
)
{
checkOrder
.
setSelected
(
3
);
select_full_end_position
=
k
;
...
...
@@ -847,7 +862,30 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
}
if
(
mMealStandActivity
==
null
||
mMealStandActivity
.
getShowFinePage
()
!=
2
){
// if (mMealStandActivity == null || mMealStandActivity.isMultipleSelectionMode()) {
// for (int v = 0; v < mainStartPos; v++) {
// if (v < mInfos.size()) {
// mInfos.get(v).setSelected(0);
// }
// }
// for (int v = mainEndPos + 1; v < mInfos.size(); v++) {
// mInfos.get(v).setSelected(0);
// }
// } else {
// for (int v = 0; v < mainStartPos; v++) {
// if (v < mInfos.size()) {
// mInfos.get(v).setSelected(0);
// }
// }
// for (int v = mainEndPos + 1; v < mInfos.size(); v++) {
// mInfos.get(v).setSelected(0);
// }
// }
if
(
selectedMode
==
MULTIPLE_SELECTED
)
{
//
}
else
{
//重置未選中的食品狀態(單選)
for
(
int
v
=
0
;
v
<
mainStartPos
;
v
++)
{
if
(
v
<
mInfos
.
size
())
{
mInfos
.
get
(
v
).
setSelected
(
0
);
...
...
@@ -911,6 +949,22 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
notifyDataSetChanged
();
}
/**
* 重置已選中食品(多選)
*/
public
boolean
resetMultipleSelected
()
{
boolean
reset
=
false
;
if
(
selectedMode
==
MULTIPLE_SELECTED
)
{
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
OrderDetail
datasBean
=
mInfos
.
get
(
i
);
if
(
select_full_start_position
<=
i
&&
i
<=
select_full_end_position
&&
datasBean
.
getSelected
()
!=
0
)
{
reset
=
true
;
datasBean
.
setSelected
(
0
);
}
}
}
return
reset
;
}
/**
* 获取食品子项最后一个子项位置
...
...
@@ -929,6 +983,19 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return
edgeIndex
;
}
public
boolean
canDeleteFood
(){
boolean
can
=
false
;
for
(
OrderDetail
item:
mInfos
)
{
if
(
item
.
getSelected
()
!=
0
){
can
=
true
;
}
}
if
(
mInfos
.
size
()
==
0
||
select_position
>=
mInfos
.
size
())
{
can
=
false
;
}
return
can
;
}
public
List
<
OrderDetail
>
getInfos
()
{
return
mInfos
;
}
...
...
@@ -969,6 +1036,14 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return
mainEndPos
;
}
public
int
getSelectedMode
()
{
return
selectedMode
;
}
public
void
setSelectedMode
(
int
selectedMode
)
{
this
.
selectedMode
=
selectedMode
;
}
public
OrderDetail
getCurrentOrderDetail
()
{
if
(
select_position
!=
-
1
)
{
return
mInfos
.
get
(
select_position
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/FineItemAllFragment.java
View file @
28b1c416
...
...
@@ -93,26 +93,19 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
}
public
void
onModSasteEvent
(
long
mid
)
{
if
(
mid
==
0
)
{
return
;
}
//
if (mid == 0) {
//
return;
//
}
mPresenter
.
initModSasteFineItemKindData
(
mid
);
}
public
void
onModMsgMidEvent
(
long
mid
)
{
if
(
mid
==
0
)
{
return
;
}
//
if (mid == 0) {
//
return;
//
}
mPresenter
.
initModMsgFineItemData
(
mid
);
}
public
void
onModCommEvent
(
long
mid
)
{
if
(
mid
==
0
)
{
return
;
}
mPresenter
.
initModCommFineItemKindData
(
mid
);
}
@Override
public
void
showLoading
(
String
message
)
{
...
...
table-mode/src/main/res/drawable-hdpi/meal_muleiple_selection.png
0 → 100644
View file @
28b1c416
544 Bytes
table-mode/src/main/res/layout/meal_activity_soldout_ctrl.xml
0 → 100644
View file @
28b1c416
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/theme_white_color"
>
<LinearLayout
android:id=
"@+id/ll_meals"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_220"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"30dp"
android:background=
"@color/theme_color"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_sold_hmmc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"20dp"
android:layout_marginTop=
"5dp"
android:text=
"項目名稱"
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_white_color"
/>
<TextView
android:id=
"@+id/tv_sold_hmsl"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginTop=
"5dp"
android:layout_marginRight=
"20dp"
android:text=
"數量"
android:textAppearance=
"?android:attr/textAppearanceMedium"
android:textColor=
"@color/theme_white_color"
/>
</RelativeLayout>
<LinearLayout
android:id=
"@+id/ll_meals_main"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycle_current_soldout_food"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:divider=
"@null"
android:fadeScrollbars=
"false"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/ll_meals"
android:layout_marginBottom=
"35dp"
android:orientation=
"vertical"
>
<LinearLayout
android:id=
"@+id/ll_food_group"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycle_food_group"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:id=
"@+id/ll_food_group_point"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_5"
android:background=
"@color/theme_grey_color"
android:orientation=
"horizontal"
android:visibility=
"invisible"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycle_food"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/ll_food_group"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycle_combo"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/ll_food_group"
android:divider=
"@null"
android:fadeScrollbars=
"false"
android:orientation=
"vertical"
android:visibility=
"invisible"
app:spanCount=
"4"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
/>
</RelativeLayout>
<LinearLayout
android:id=
"@+id/ll_fine_item"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/ll_meals"
android:layout_above=
"@+id/ll_stand_oper"
android:orientation=
"vertical"
android:visibility=
"invisible"
>
<RelativeLayout
android:id=
"@+id/rl_tabs"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:background=
"@color/theme_background_color"
>
<ImageView
android:id=
"@+id/iv_fine_item_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/normal_space"
android:contentDescription=
"@string/app_name"
android:src=
"@drawable/ic_black_back"
android:visibility=
"visible"
/>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment
android:id=
"@+id/tabSegment"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_centerInParent=
"true"
android:background=
"@drawable/shape_tab_panel_bg"
/>
</RelativeLayout>
<androidx.viewpager.widget.ViewPager
android:id=
"@+id/contentViewPager"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_stand_oper"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_38"
android:layout_alignParentLeft=
"true"
android:layout_alignParentRight=
"true"
android:layout_alignParentBottom=
"true"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_soldout"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_alignParentLeft=
"true"
android:layout_weight=
"1"
android:background=
"@color/theme_color"
android:gravity=
"center"
android:text=
"沽清控制--食品"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_20"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_return"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:background=
"@color/theme_hint_color"
android:gravity=
"center"
android:text=
"返 回"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_20"
/>
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
table-mode/src/main/res/layout/table_activity_meal_stand.xml
View file @
28b1c416
...
...
@@ -115,6 +115,20 @@
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_12"
/>
<TextView
android:id=
"@+id/btn_multiple_selection"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"@string/meal_multiple_selection"
android:drawablePadding=
"@dimen/dp_1"
android:layout_marginTop=
"@dimen/dp_8"
android:background=
"@drawable/ui_selector_item_background"
android:textAllCaps=
"false"
android:gravity=
"center"
android:drawableTop=
"@drawable/meal_muleiple_selection"
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_12"
/>
<!-- <ImageButton-->
<!-- android:id="@+id/btn_meal_discount"-->
<!-- style="@style/ButtonBorderless"-->
...
...
@@ -263,6 +277,30 @@
android:visibility=
"invisible"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_select_all"
style=
"@style/ButtonBorderless"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginRight=
"1dp"
android:layout_weight=
"0.1"
android:background=
"#00B9F7"
android:text=
"@string/all_selection"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_anti_selection"
style=
"@style/ButtonBorderless"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginRight=
"1dp"
android:layout_weight=
"0.1"
android:background=
"#00B9F7"
android:text=
"@string/anti_selection"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_taste"
style=
"@style/ButtonBorderless"
android:layout_width=
"match_parent"
...
...
@@ -291,19 +329,6 @@
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<!-- <com.qmuiteam.qmui.alpha.QMUIAlphaButton-->
<!-- android:id="@+id/btn_multiple_selection"-->
<!-- style="@style/ButtonBorderless"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_marginRight="1dp"-->
<!-- android:layout_weight="0.1"-->
<!-- android:background="#00B9F7"-->
<!-- android:drawableLeft="@mipmap/meal_fine_taste"-->
<!-- android:text="@string/multiple_selection"-->
<!-- android:textColor="@color/theme_white_color"-->
<!-- android:textSize="@dimen/sp_14"/>-->
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_delete"
style=
"@style/ButtonBorderless"
...
...
table-mode/src/main/res/values/strings.xml
View file @
28b1c416
...
...
@@ -30,6 +30,7 @@
<string
name=
"loading"
>
加載中...
</string>
<string
name=
"meal_return"
>
返回
</string>
<string
name=
"meal_discount"
>
折扣
</string>
<string
name=
"meal_multiple_selection"
>
多選
</string>
<string
name=
"meal_move"
>
轉移
</string>
<string
name=
"meal_print"
>
印單
</string>
<string
name=
"meal_send"
>
送單
</string>
...
...
@@ -97,7 +98,8 @@
<string
name=
"Addordelete"
>
加/減
</string>
<string
name=
"taste"
>
口味
</string>
<string
name=
"msg"
>
訊息
</string>
<string
name=
"multiple_selection"
>
多選
</string>
<string
name=
"all_selection"
>
多選
</string>
<string
name=
"anti_selection"
>
反選
</string>
<string
name=
"remove"
>
刪除
</string>
<string
name=
"end"
>
完成
</string>
<string
name=
"Vertical"
>
豎向
</string>
...
...
user-login/build.gradle
View file @
28b1c416
...
...
@@ -81,6 +81,7 @@ dependencies {
addComponent
'table-mode'
addComponent
'print-module'
addComponent
'other_order_mode'
addComponent
'manager'
annotationProcessor
rootProject
.
ext
.
dependencies
[
"dagger2-compiler"
]
implementation
rootProject
.
ext
.
dependencies
[
"autosize"
]
...
...
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