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
e65ccb3b
Commit
e65ccb3b
authored
Nov 10, 2020
by
Wyh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、優化prj廚房單打印邏輯 2、餐牌的食品列表
Signed-off-by: Wyh <1239658231>
parent
84531caa
Show whitespace changes
Inline
Side-by-side
Showing
59 changed files
with
1182 additions
and
642 deletions
+1182
-642
base-module/build.gradle
+1
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/time/TimePickerUtils.java
+48
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/time/TimeUtils.java
+1
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/recylcler/decorator/ItemHeaderDecoration.java
+0
-135
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/recylcler/decorator/PinnedHeaderItemDecoration.java
+132
-0
base-module/src/main/res/layout/include_list_save_layout.xml
+1
-0
base-module/src/main/res/layout/item_food_menu_category_title.xml
+13
-0
config.gradle
+8
-6
database-module/src/main/java/com/gingersoft/gsa/cloud/database/utils/FoodDaoUtils.java
+1
-6
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/HistoryOrderViewModel.kt
+3
-2
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/PageViewModel.kt
+5
-4
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/PrjQueryPresenter.java
+1
-1
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/SendOrderPresenter.java
+10
-4
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/PrjQueryActivity.java
+10
-10
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/adapter/PrjStateAdapter.java
+8
-6
delivery_pick_module/src/main/res/layout/item_prj_state.xml
+2
-0
download-module/src/main/java/com/gingersoft/gsa/cloud/download/mvp/presenter/DownloadPresenter.java
+1
-2
main-module/src/main/AndroidManifest.xml
+3
-28
main-module/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
+6
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectComponent.java
+11
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectModule.java
+6
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/SelectContract.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/SelectModel.java
+5
-7
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/FoodMenuEditBean.java
+23
-6
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectPresenter.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/ExpandListActivity.java
+15
-3
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodMenuManageActivity.java
+3
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuAdapter.java
+148
-9
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuMangerLeftAdapter.java
+15
-8
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuMangerRightAdapter.java
+43
-21
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/RadioItemProvider.java
+6
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/SelectAdapter.java
+28
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/multi/RadioAdapter.java
+5
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/BaseFoodMenuFragment.java
+92
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodFragment.java
+3
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodItemsFragment.java
+40
-19
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodMenuFragment.java
+132
-27
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewFoodFragment.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewlyAddedFragment.java
+23
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/SelectFragment.java
+67
-10
main-module/src/main/res/layout/fragment_edit_food.xml
+1
-0
main-module/src/main/res/layout/fragment_edit_food_items.xml
+3
-2
main-module/src/main/res/layout/fragment_food_menu.xml
+5
-6
main-module/src/main/res/layout/fragment_newly_added.xml
+1
-1
main-module/src/main/res/layout/fragment_select.xml
+11
-0
main-module/src/main/res/layout/item_default_select.xml
+26
-0
main-module/src/main/res/layout/item_food_menu_right_food_info.xml
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+5
-1
print-module/src/main/java/com/joe/print/mvp/presenter/PrintPresenter.java
+9
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
+2
-192
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
+5
-2
print-module/src/main/java/com/joe/print/mvp/print/PrintPrjKitchen.java
+3
-0
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/service/PrjService.java
+62
-12
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
+71
-10
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+8
-13
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+14
-14
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+15
-18
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+12
-19
No files found.
base-module/build.gradle
View file @
e65ccb3b
...
@@ -130,6 +130,7 @@ dependencies {
...
@@ -130,6 +130,7 @@ dependencies {
api
'androidx.core:core-ktx:+'
api
'androidx.core:core-ktx:+'
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api
'com.github.huangyanbin:SmartTable:2.2.0'
api
'com.github.huangyanbin:SmartTable:2.2.0'
api
rootProject
.
ext
.
dependencies
[
'logan'
]
}
}
repositories
{
repositories
{
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/time/TimePickerUtils.java
View file @
e65ccb3b
...
@@ -3,7 +3,10 @@ package com.gingersoft.gsa.cloud.base.utils.time;
...
@@ -3,7 +3,10 @@ package com.gingersoft.gsa.cloud.base.utils.time;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
androidx.core.content.ContextCompat
;
import
com.bigkoo.pickerview.listener.OnTimeSelectListener
;
import
com.bigkoo.pickerview.listener.OnTimeSelectListener
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.ui.view.timeselect.TimePickerView
;
import
com.gingersoft.gsa.cloud.ui.view.timeselect.TimePickerView
;
import
com.gingersoft.gsa.cloud.ui.view.timeselect.builder.TimePickerBuilder
;
import
com.gingersoft.gsa.cloud.ui.view.timeselect.builder.TimePickerBuilder
;
...
@@ -17,6 +20,7 @@ public class TimePickerUtils {
...
@@ -17,6 +20,7 @@ public class TimePickerUtils {
/**
/**
* 顯示報表頁面時間選擇樣式
* 顯示報表頁面時間選擇樣式
*
* @param mContext
* @param mContext
* @param defaultTime 默認選中時間
* @param defaultTime 默認選中時間
* @param onTimeSelectListener 選中時間回調
* @param onTimeSelectListener 選中時間回調
...
@@ -94,9 +98,33 @@ public class TimePickerUtils {
...
@@ -94,9 +98,33 @@ public class TimePickerUtils {
return
pvTime
;
return
pvTime
;
}
}
public
static
TimePickerView
showDatePicker
(
Context
mContext
,
OnTimeSelectListener
onTimeSelectListener
)
{
//獲取今年第一天的日期
//打開時間選擇器
TimePickerView
pvTime
=
new
TimePickerBuilder
(
mContext
,
onTimeSelectListener
)
.
setType
(
new
boolean
[]{
true
,
true
,
true
,
false
,
false
,
false
})
//默认全部显示
.
setCancelText
(
"取消"
)
//取消按钮文字
.
setSubmitText
(
"確認"
)
//确认按钮文字
.
setContentTextSize
(
20
)
//滚轮文字大小
.
setTitleSize
(
20
)
//标题文字大小
.
setOutSideCancelable
(
true
)
//点击屏幕,点在控件外部范围时,是否取消显示
.
isCyclic
(
false
)
//是否循环滚动
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项的颜色
.
setTitleColor
(
Color
.
BLACK
)
//标题文字颜色
.
setSubmitColor
(
Color
.
BLUE
)
//确定按钮文字颜色
.
setCancelColor
(
Color
.
BLUE
)
//取消按钮文字颜色
.
setLabel
(
""
,
""
,
""
,
""
,
""
,
""
)
.
isCenterLabel
(
false
)
//是否只显示中间选中项的label文字,false则每项item全部都带有label。
.
build
();
//設置默認選中時間
pvTime
.
setDate
(
Calendar
.
getInstance
());
//注:根据需求来决定是否使用该方法(一般是精确到秒的情况),此项可以在弹出选择器的时候重新设置当前时间,避免在初始化之后由于时间已经设定,导致选中时间与当前时间不匹配的问题。
pvTime
.
show
();
return
pvTime
;
}
/**
/**
* 顯示報表頁面時間選擇樣式
* 顯示報表頁面時間選擇樣式
*
* @param mContext
* @param mContext
* @param defaultTime 默認選中時間
* @param defaultTime 默認選中時間
* @param onTimeSelectListener 選中時間回調
* @param onTimeSelectListener 選中時間回調
...
@@ -128,4 +156,24 @@ public class TimePickerUtils {
...
@@ -128,4 +156,24 @@ public class TimePickerUtils {
return
pvTime
;
return
pvTime
;
}
}
private
static
TimePickerBuilder
timePickerBuilder
;
public
static
TimePickerBuilder
init
(
Context
context
,
OnTimeSelectListener
onTimeSelectListener
)
{
timePickerBuilder
=
new
TimePickerBuilder
(
context
,
onTimeSelectListener
)
.
setCancelText
(
"取消"
)
.
setSubmitText
(
"確認"
)
.
setContentTextSize
(
20
)
.
setTitleSize
(
20
)
.
setOutSideCancelable
(
true
)
.
isCyclic
(
false
)
.
setTextColorCenter
(
Color
.
BLACK
)
.
setTitleColor
(
Color
.
BLACK
)
.
setSubmitColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
theme_color
))
.
setCancelColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
theme_color
))
.
setLabel
(
""
,
""
,
""
,
""
,
""
,
""
)
.
isCenterLabel
(
false
)
.
setDate
(
Calendar
.
getInstance
());
return
timePickerBuilder
;
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/time/TimeUtils.java
View file @
e65ccb3b
...
@@ -90,6 +90,7 @@ public class TimeUtils {
...
@@ -90,6 +90,7 @@ public class TimeUtils {
public
static
final
SimpleDateFormat
DATE_FORMAT_DATE_HM
=
new
SimpleDateFormat
(
"HH:mm"
);
public
static
final
SimpleDateFormat
DATE_FORMAT_DATE_HM
=
new
SimpleDateFormat
(
"HH:mm"
);
public
static
final
SimpleDateFormat
DATE_FORMAT_DATE_H
=
new
SimpleDateFormat
(
"HH"
);
public
static
final
SimpleDateFormat
DATE_FORMAT_DATE_H
=
new
SimpleDateFormat
(
"HH"
);
public
static
final
SimpleDateFormat
DATE_FORMAT_HMS
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
public
static
final
SimpleDateFormat
DEFAULT_DATE_MDHM
=
new
SimpleDateFormat
(
"MM-dd HH:mm"
);
//, Locale.CHINESE
public
static
final
SimpleDateFormat
DEFAULT_DATE_MDHM
=
new
SimpleDateFormat
(
"MM-dd HH:mm"
);
//, Locale.CHINESE
public
static
final
SimpleDateFormat
DEFAULT_DATE_MD
=
new
SimpleDateFormat
(
"MM-dd"
);
public
static
final
SimpleDateFormat
DEFAULT_DATE_MD
=
new
SimpleDateFormat
(
"MM-dd"
);
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/recylcler/decorator/ItemHeaderDecoration.java
deleted
100644 → 0
View file @
84531caa
//package com.gingersoft.gsa.cloud.ui.recylcler.decorator;
//
//import android.content.Context;
//import android.graphics.Canvas;
//import android.graphics.Paint;
//import android.support.v7.widget.GridLayoutManager;
//import android.support.v7.widget.LinearLayoutManager;
//import android.support.v7.widget.RecyclerView;
//import android.text.TextUtils;
//import android.util.Log;
//import android.util.TypedValue;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.TextView;
//
//import java.util.List;
//
//
//public class ItemHeaderDecoration extends RecyclerView.ItemDecoration {
// private int mTitleHeight;
//// private List<RightBean> mDatas;
// private LayoutInflater mInflater;
// private CheckListener mCheckListener;
// public static String currentTag = "0";//标记当前左侧选中的position,因为有可能选中的item,右侧不能置顶,所以强制替换掉当前的tag
//
// void setCheckListener(CheckListener checkListener) {
// mCheckListener = checkListener;
// }
//
// ItemHeaderDecoration(Context context, List<RightBean> datas) {
//// this.mDatas = datas;
// Paint paint = new Paint();
// mTitleHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, context.getResources().getDisplayMetrics());
// int titleFontSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 16, context.getResources().getDisplayMetrics());
// paint.setTextSize(titleFontSize);
// paint.setAntiAlias(true);
// mInflater = LayoutInflater.from(context);
// }
//
//
// public ItemHeaderDecoration setData(List<RightBean> mDatas) {
// this.mDatas = mDatas;
// return this;
// }
//
// public static void setCurrentTag(String currentTag) {
// ItemHeaderDecoration.currentTag = currentTag;
// }
//
//
// @Override
// public void onDrawOver(Canvas canvas, final RecyclerView parent, RecyclerView.State state) {
// GridLayoutManager manager = (GridLayoutManager) parent.getLayoutManager();
// GridLayoutManager.SpanSizeLookup spanSizeLookup = manager.getSpanSizeLookup();
// int pos = ((LinearLayoutManager) (parent.getLayoutManager())).findFirstVisibleItemPosition();
// int spanSize = spanSizeLookup.getSpanSize(pos);
// Log.d("pos--->", String.valueOf(pos));
// String tag = mDatas.get(pos).getTag();
// View child = parent.findViewHolderForLayoutPosition(pos).itemView;
// boolean isTranslate = false;//canvas是否平移的标志
// if (!TextUtils.equals(mDatas.get(pos).getTag(), mDatas.get(pos + 1).getTag())
// || !TextUtils.equals(mDatas.get(pos).getTag(), mDatas.get(pos + 2).getTag())
// || !TextUtils.equals(mDatas.get(pos).getTag(), mDatas.get(pos + 3).getTag())
// ) {
// tag = mDatas.get(pos).getTag();
// int i = child.getHeight() + child.getTop();
// Log.d("i---->", String.valueOf(i));
// if (spanSize == 1) {
// //body 才平移
// if (child.getHeight() + child.getTop() < mTitleHeight) {
// canvas.save();
// isTranslate = true;
// int height = child.getHeight() + child.getTop() - mTitleHeight;
// canvas.translate(0, height);
// }
// }
//
//
// }
// drawHeader(parent, pos, canvas);
// if (isTranslate) {
// canvas.restore();
// }
// Log.d("tag--->", tag + "VS" + currentTag);
// if (!TextUtils.equals(tag, currentTag)) {
// currentTag = tag;
// Integer integer = Integer.valueOf(tag);
// mCheckListener.check(integer, false);
// }
// }
//
// /**
// * @param parent
// * @param pos
// */
// private void drawHeader(RecyclerView parent, int pos, Canvas canvas) {
// View topTitleView = mInflater.inflate(R.layout.item_title, parent, false);
// TextView tvTitle = (TextView) topTitleView.findViewById(R.id.tv_title);
// tvTitle.setText(mDatas.get(pos).getTitleName());
// //绘制title开始
// int toDrawWidthSpec;//用于测量的widthMeasureSpec
// int toDrawHeightSpec;//用于测量的heightMeasureSpec
// RecyclerView.LayoutParams lp = (RecyclerView.LayoutParams) topTitleView.getLayoutParams();
// if (lp == null) {
// lp = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);//这里是根据复杂布局layout的width height,new一个Lp
// topTitleView.setLayoutParams(lp);
// }
// topTitleView.setLayoutParams(lp);
// if (lp.width == ViewGroup.LayoutParams.MATCH_PARENT) {
// //如果是MATCH_PARENT,则用父控件能分配的最大宽度和EXACTLY构建MeasureSpec
// toDrawWidthSpec = View.MeasureSpec.makeMeasureSpec(parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight(), View.MeasureSpec.EXACTLY);
// } else if (lp.width == ViewGroup.LayoutParams.WRAP_CONTENT) {
// //如果是WRAP_CONTENT,则用父控件能分配的最大宽度和AT_MOST构建MeasureSpec
// toDrawWidthSpec = View.MeasureSpec.makeMeasureSpec(parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight(), View.MeasureSpec.AT_MOST);
// } else {
// //否则则是具体的宽度数值,则用这个宽度和EXACTLY构建MeasureSpec
// toDrawWidthSpec = View.MeasureSpec.makeMeasureSpec(lp.width, View.MeasureSpec.EXACTLY);
// }
// //高度同理
// if (lp.height == ViewGroup.LayoutParams.MATCH_PARENT) {
// toDrawHeightSpec = View.MeasureSpec.makeMeasureSpec(parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom(), View.MeasureSpec.EXACTLY);
// } else if (lp.height == ViewGroup.LayoutParams.WRAP_CONTENT) {
// toDrawHeightSpec = View.MeasureSpec.makeMeasureSpec(parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom(), View.MeasureSpec.AT_MOST);
// } else {
// toDrawHeightSpec = View.MeasureSpec.makeMeasureSpec(mTitleHeight, View.MeasureSpec.EXACTLY);
// }
// //依次调用 measure,layout,draw方法,将复杂头部显示在屏幕上
// topTitleView.measure(toDrawWidthSpec, toDrawHeightSpec);
// topTitleView.layout(parent.getPaddingLeft(), parent.getPaddingTop(), parent.getPaddingLeft() + topTitleView.getMeasuredWidth(), parent.getPaddingTop() + topTitleView.getMeasuredHeight());
// topTitleView.draw(canvas);//Canvas默认在视图顶部,无需平移,直接绘制
// //绘制title结束
//
// }
//}
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/recylcler/decorator/PinnedHeaderItemDecoration.java
0 → 100644
View file @
e65ccb3b
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
.
decorator
;
import
android.graphics.Canvas
;
import
android.graphics.Rect
;
import
android.view.View
;
import
androidx.recyclerview.widget.RecyclerView
;
/**
* PinnedHeader对应的ItemDecoration
*/
public
class
PinnedHeaderItemDecoration
extends
RecyclerView
.
ItemDecoration
{
private
Rect
mPinnedHeaderRect
=
null
;
private
int
mPinnedHeaderPosition
=
-
1
;
private
int
headType
;
private
onSelectListener
onSelectListener
;
public
PinnedHeaderItemDecoration
(
int
headType
)
{
this
.
headType
=
headType
;
}
public
interface
onSelectListener
{
void
onSelect
(
int
position
);
}
public
void
setOnSelectListener
(
PinnedHeaderItemDecoration
.
onSelectListener
onSelectListenter
)
{
this
.
onSelectListener
=
onSelectListenter
;
}
/**
* 把要固定的View绘制在上层
*/
@Override
public
void
onDrawOver
(
Canvas
c
,
RecyclerView
parent
,
RecyclerView
.
State
state
)
{
super
.
onDrawOver
(
c
,
parent
,
state
);
//确保是PinnedHeaderAdapter的adapter,确保有View
if
(
parent
.
getChildCount
()
>
0
)
{
RecyclerView
.
Adapter
adapter
=
parent
.
getAdapter
();
//找到要固定的pin view
View
firstView
=
parent
.
getChildAt
(
0
);
int
firstAdapterPosition
=
parent
.
getChildAdapterPosition
(
firstView
);
int
pinnedHeaderPosition
=
getPinnedHeaderViewPosition
(
firstAdapterPosition
,
adapter
);
mPinnedHeaderPosition
=
pinnedHeaderPosition
;
if
(
pinnedHeaderPosition
!=
-
1
)
{
RecyclerView
.
ViewHolder
pinnedHeaderViewHolder
=
adapter
.
onCreateViewHolder
(
parent
,
headType
);
adapter
.
onBindViewHolder
(
pinnedHeaderViewHolder
,
pinnedHeaderPosition
);
//要固定的view
View
pinnedHeaderView
=
pinnedHeaderViewHolder
.
itemView
;
ensurePinnedHeaderViewLayout
(
pinnedHeaderView
,
parent
);
int
sectionPinOffset
=
0
;
for
(
int
index
=
0
;
index
<
parent
.
getChildCount
();
index
++)
{
if
(
adapter
.
getItemViewType
(
parent
.
getChildAdapterPosition
(
parent
.
getChildAt
(
index
)))
==
headType
)
{
View
sectionView
=
parent
.
getChildAt
(
index
);
int
sectionTop
=
sectionView
.
getTop
();
int
pinViewHeight
=
pinnedHeaderView
.
getHeight
();
if
(
sectionTop
<
pinViewHeight
&&
sectionTop
>
0
)
{
sectionPinOffset
=
sectionTop
-
pinViewHeight
;
}
}
}
int
saveCount
=
c
.
save
();
RecyclerView
.
LayoutParams
layoutParams
=
(
RecyclerView
.
LayoutParams
)
pinnedHeaderView
.
getLayoutParams
();
if
(
layoutParams
==
null
)
{
throw
new
NullPointerException
(
"PinnedHeaderItemDecoration"
);
}
c
.
translate
(
layoutParams
.
leftMargin
,
sectionPinOffset
);
c
.
clipRect
(
0
,
0
,
parent
.
getWidth
(),
pinnedHeaderView
.
getMeasuredHeight
());
pinnedHeaderView
.
draw
(
c
);
c
.
restoreToCount
(
saveCount
);
if
(
mPinnedHeaderRect
==
null
)
{
mPinnedHeaderRect
=
new
Rect
();
}
mPinnedHeaderRect
.
set
(
0
,
0
,
parent
.
getWidth
(),
pinnedHeaderView
.
getMeasuredHeight
()
+
sectionPinOffset
);
if
(
onSelectListener
!=
null
){
onSelectListener
.
onSelect
(
pinnedHeaderPosition
);
}
}
else
{
mPinnedHeaderRect
=
null
;
}
}
}
/**
* 要给每个item设置间距主要靠这个函数来实现
*/
@Override
public
void
getItemOffsets
(
Rect
outRect
,
View
view
,
RecyclerView
parent
,
RecyclerView
.
State
state
)
{
}
/**
* 根据第一个可见的adapter的位置去获取临近的一个要固定的position的位置
*
* @param adapterFirstVisible 第一个可见的adapter的位置
* @return -1:未找到 >=0 找到位置
*/
private
int
getPinnedHeaderViewPosition
(
int
adapterFirstVisible
,
RecyclerView
.
Adapter
adapter
)
{
for
(
int
index
=
adapterFirstVisible
;
index
>=
0
;
index
--)
{
if
(
adapter
.
getItemViewType
(
index
)
==
headType
)
{
return
index
;
}
}
return
-
1
;
}
private
void
ensurePinnedHeaderViewLayout
(
View
pinView
,
RecyclerView
recyclerView
)
{
if
(
pinView
.
isLayoutRequested
())
{
/**
* 用的是RecyclerView的宽度测量,和RecyclerView的宽度一样
*/
RecyclerView
.
LayoutParams
layoutParams
=
(
RecyclerView
.
LayoutParams
)
pinView
.
getLayoutParams
();
if
(
layoutParams
==
null
)
{
throw
new
NullPointerException
(
"PinnedHeaderItemDecoration"
);
}
int
widthSpec
=
View
.
MeasureSpec
.
makeMeasureSpec
(
recyclerView
.
getMeasuredWidth
()
-
layoutParams
.
leftMargin
-
layoutParams
.
rightMargin
,
View
.
MeasureSpec
.
EXACTLY
);
int
heightSpec
;
if
(
layoutParams
.
height
>
0
)
{
heightSpec
=
View
.
MeasureSpec
.
makeMeasureSpec
(
layoutParams
.
height
,
View
.
MeasureSpec
.
EXACTLY
);
}
else
{
heightSpec
=
View
.
MeasureSpec
.
makeMeasureSpec
(
0
,
View
.
MeasureSpec
.
UNSPECIFIED
);
}
pinView
.
measure
(
widthSpec
,
heightSpec
);
pinView
.
layout
(
0
,
0
,
pinView
.
getMeasuredWidth
(),
pinView
.
getMeasuredHeight
());
}
}
}
base-module/src/main/res/layout/include_list_save_layout.xml
View file @
e65ccb3b
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
android:id=
"@+id/rv_content"
android:id=
"@+id/rv_content"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/white"
android:layout_above=
"@id/btn_save"
android:layout_above=
"@id/btn_save"
android:layout_below=
"@id/topbar_list"
/>
android:layout_below=
"@id/topbar_list"
/>
...
...
base-module/src/main/res/layout/item_food_menu_category_title.xml
0 → 100644
View file @
e65ccb3b
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/tv_food_menu_category_title"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/theme_333_color"
android:gravity=
"center_horizontal"
android:paddingTop=
"@dimen/dp_6"
android:paddingBottom=
"@dimen/dp_6"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_14"
tools:text=
"今日推薦 精選推薦"
/>
config.gradle
View file @
e65ccb3b
ext
{
ext
{
android
=
[
android
=
[
compileSdkVersion:
2
9
,
compileSdkVersion:
2
8
,
buildToolsVersion:
'2
9
.0.3'
,
buildToolsVersion:
'2
8
.0.3'
,
minSdkVersion
:
19
,
//N5收銀機應用安卓開發環境要求Android OS Version: 5.1Android SDK Min Version: 19
minSdkVersion
:
19
,
//N5收銀機應用安卓開發環境要求Android OS Version: 5.1Android SDK Min Version: 19
targetSdkVersion
:
2
9
,
targetSdkVersion
:
2
8
,
//正式版: 1.0.3 3
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
//內部測試版:1.2.0 20
versionCode
:
10
,
versionCode
:
10
,
...
@@ -12,7 +12,7 @@ ext {
...
@@ -12,7 +12,7 @@ ext {
]
]
version
=
[
version
=
[
androidSupportSdkVersion:
"2
9
+"
,
androidSupportSdkVersion:
"2
8
+"
,
retrofitSdkVersion
:
'2.3.0'
,
retrofitSdkVersion
:
'2.3.0'
,
dagger2SdkVersion
:
"2.19"
,
dagger2SdkVersion
:
"2.19"
,
glideSdkVersion
:
"4.9.0"
,
glideSdkVersion
:
"4.9.0"
,
...
@@ -131,8 +131,10 @@ ext {
...
@@ -131,8 +131,10 @@ ext {
"immersionbar"
:
"com.gyf.immersionbar:immersionbar:3.0.0"
,
"immersionbar"
:
"com.gyf.immersionbar:immersionbar:3.0.0"
,
// fragment快速实现(可选)
// fragment快速实现(可选)
"immersionbar-components"
:
"com.gyf.immersionbar:immersionbar-components:3.0.0"
,
"immersionbar-components"
:
"com.gyf.immersionbar:immersionbar-components:3.0.0"
,
//獲取權限
"permissionx"
:
'com.permissionx.guolindev:permissionx:1.3.1'
"permissionx"
:
'com.permissionx.guolindev:permissionx:1.3.1'
,
//美團點評-日誌監聽https://github.com/Meituan-Dianping/Logan/tree/master/Example/Logan-Android
"logan"
:
'com.dianping.android.sdk:logan:1.2.4'
]
]
}
}
database-module/src/main/java/com/gingersoft/gsa/cloud/database/utils/FoodDaoUtils.java
View file @
e65ccb3b
package
com
.
gingersoft
.
gsa
.
cloud
.
database
.
utils
;
package
com
.
gingersoft
.
gsa
.
cloud
.
database
.
utils
;
import
android.content.Context
;
import
android.content.Context
;
import
android.database.Cursor
;
import
android.util.Log
;
import
android.util.Log
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.greendao.FoodComboDao
;
import
com.gingersoft.gsa.cloud.database.greendao.FoodDao
;
import
com.gingersoft.gsa.cloud.database.greendao.FoodDao
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -207,7 +202,7 @@ public class FoodDaoUtils {
...
@@ -207,7 +202,7 @@ public class FoodDaoUtils {
*
*
* @return
* @return
*/
*/
public
List
<
Food
>
queryFoodByQueryBuilder
(
long
parentId
,
int
foodSummary
)
{
public
List
<
Food
>
queryFoodByQueryBuilder
(
long
parentId
,
int
foodSummary
)
{
QueryBuilder
<
Food
>
queryBuilder
=
mManager
.
getDaoSession
().
queryBuilder
(
Food
.
class
);
QueryBuilder
<
Food
>
queryBuilder
=
mManager
.
getDaoSession
().
queryBuilder
(
Food
.
class
);
long
currentTime
=
System
.
currentTimeMillis
();
long
currentTime
=
System
.
currentTimeMillis
();
return
queryBuilder
.
where
(
queryBuilder
.
and
(
return
queryBuilder
.
where
(
queryBuilder
.
and
(
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/HistoryOrderViewModel.kt
View file @
e65ccb3b
...
@@ -8,6 +8,7 @@ import androidx.lifecycle.viewModelScope
...
@@ -8,6 +8,7 @@ import androidx.lifecycle.viewModelScope
import
com.billy.cc.core.component.CC
import
com.billy.cc.core.component.CC
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
import
com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import
com.gingersoft.gsa.cloud.constans.PrintConstans
import
com.gingersoft.gsa.cloud.constans.PrintConstans
...
@@ -87,7 +88,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
...
@@ -87,7 +88,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
//訂單信息和廚房單
//訂單信息和廚房單
orderDetails
.
data
!!
[
0
].
order_type
=
data
.
order_type
orderDetails
.
data
!!
[
0
].
order_type
=
data
.
order_type
orderDetails
.
data
!!
[
0
].
orderPayType
=
data
.
orderPayType
orderDetails
.
data
!!
[
0
].
orderPayType
=
data
.
orderPayType
MyOrderManage
.
setDataBean
(
orderDetails
.
data
!!
[
0
])
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
orderDetails
.
data
!!
[
0
]
CC
.
obtainBuilder
(
"Component.Print"
)
CC
.
obtainBuilder
(
"Component.Print"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
setActionName
(
"printActivity"
)
.
setActionName
(
"printActivity"
)
...
@@ -100,7 +101,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
...
@@ -100,7 +101,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
}
else
{
}
else
{
listener
.
invoke
(
true
)
listener
.
invoke
(
true
)
}
}
MyOrderManage
.
setDataBean
(
null
)
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
null
}
}
}
else
{
}
else
{
ToastUtils
.
show
(
context
,
"沒有訂單內容,打印失敗"
)
ToastUtils
.
show
(
context
,
"沒有訂單內容,打印失敗"
)
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/PageViewModel.kt
View file @
e65ccb3b
...
@@ -16,6 +16,7 @@ import com.billy.cc.core.component.CC
...
@@ -16,6 +16,7 @@ import com.billy.cc.core.component.CC
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
import
com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
...
@@ -548,13 +549,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
...
@@ -548,13 +549,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
*/
*/
fun
printOrder
(
code
:
Int
,
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
MessageBean
)
->
Unit
)
{
fun
printOrder
(
code
:
Int
,
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
MessageBean
)
->
Unit
)
{
//訂單信息和廚房單,打印前需要修改dataBean的order_type和orderPayType
//訂單信息和廚房單,打印前需要修改dataBean的order_type和orderPayType
MyOrderManage
.
setDataBean
(
dataBean
)
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
dataBean
CC
.
obtainBuilder
(
"Component.Print"
)
CC
.
obtainBuilder
(
"Component.Print"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
setActionName
(
"printActivity"
)
.
setActionName
(
"printActivity"
)
.
build
()
.
build
()
.
callAsyncCallbackOnMainThread
{
_
,
result
->
.
callAsyncCallbackOnMainThread
{
_
,
result
->
MyOrderManage
.
setDataBean
(
null
)
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
null
listener
.
invoke
(
getMsgBean
(
code
,
"打印"
,
result
.
isSuccess
))
listener
.
invoke
(
getMsgBean
(
code
,
"打印"
,
result
.
isSuccess
))
}
}
}
}
...
@@ -563,13 +564,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
...
@@ -563,13 +564,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
* 打印結賬單
* 打印結賬單
*/
*/
private
fun
printOrderClosing
(
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
Int
,
Boolean
)
->
Unit
)
{
private
fun
printOrderClosing
(
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
Int
,
Boolean
)
->
Unit
)
{
MyOrderManage
.
setDataBean
(
dataBean
)
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
dataBean
CC
.
obtainBuilder
(
"Component.Print"
)
CC
.
obtainBuilder
(
"Component.Print"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_CLOSING
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_CLOSING
)
.
setActionName
(
"printActivity"
)
.
setActionName
(
"printActivity"
)
.
build
()
.
build
()
.
callAsyncCallbackOnMainThread
{
_
,
result
->
.
callAsyncCallbackOnMainThread
{
_
,
result
->
MyOrderManage
.
setDataBean
(
null
)
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
null
listener
.
invoke
(
PrintCode
,
result
.
isSuccess
)
listener
.
invoke
(
PrintCode
,
result
.
isSuccess
)
}
}
}
}
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/PrjQueryPresenter.java
View file @
e65ccb3b
...
@@ -119,7 +119,7 @@ public class PrjQueryPresenter extends BasePresenter<PrjQueryContract.Model, Prj
...
@@ -119,7 +119,7 @@ public class PrjQueryPresenter extends BasePresenter<PrjQueryContract.Model, Prj
@Override
@Override
public
void
onNext
(
@NonNull
BaseResult
info
)
{
public
void
onNext
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
)
{
if
(
info
!=
null
)
{
if
(
info
.
getData
()
!=
null
)
{
if
(
info
.
isSuccess
()
)
{
getKitchenPrint
(
orderNo
);
getKitchenPrint
(
orderNo
);
}
else
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
info
.
getErrMsg
()))
{
}
else
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
info
.
getErrMsg
()))
{
mRootView
.
showMessage
(
info
.
getErrMsg
());
mRootView
.
showMessage
(
info
.
getErrMsg
());
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/SendOrderPresenter.java
View file @
e65ccb3b
...
@@ -2,9 +2,10 @@ package com.gingersoft.gsa.delivery_pick_mode.mvp.presenter;
...
@@ -2,9 +2,10 @@ package com.gingersoft.gsa.delivery_pick_mode.mvp.presenter;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.order.
bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.TakeawayOrder
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.bean.RiceponAddOrderBean
;
import
com.gingersoft.gsa.cloud.bean.RiceponAddOrderBean
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
...
@@ -16,12 +17,16 @@ import com.jess.arms.http.imageloader.ImageLoader;
...
@@ -16,12 +17,16 @@ import com.jess.arms.http.imageloader.ImageLoader;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.schedulers.Schedulers
;
import
io.reactivex.schedulers.Schedulers
;
...
@@ -195,6 +200,7 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
...
@@ -195,6 +200,7 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
@Override
public
void
onNext
(
BaseResult
s
)
{
public
void
onNext
(
BaseResult
s
)
{
TakeawayOrder
.
getInstance
().
initialization
();
kill
();
kill
();
}
}
});
});
...
@@ -208,7 +214,7 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
...
@@ -208,7 +214,7 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
activity
.
finish
();
activity
.
finish
();
}
}
}
}
MyOrderManage
.
getInstance
().
clear
(
);
TakeawayOrder
.
getInstance
().
getShoppingCart
().
initialization
(
true
);
mRootView
.
killMyself
();
mRootView
.
killMyself
();
}
}
...
@@ -229,10 +235,10 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
...
@@ -229,10 +235,10 @@ public class SendOrderPresenter extends BasePresenter<SendOrderContract.Model, S
json
.
put
(
"payType"
,
1
);
json
.
put
(
"payType"
,
1
);
json
.
put
(
"receiver"
,
name
);
json
.
put
(
"receiver"
,
name
);
//原价
//原价
json
.
put
(
"originalAmount"
,
MyOrderManage
.
getInstance
().
getWholeAmount
());
json
.
put
(
"originalAmount"
,
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getWholeAmount
());
json
.
put
(
"orderType"
,
2
);
//訂單類型#1:餐廳訂單;2:線上外賣訂單3:扫码点餐;4固定二维码订单;5:预点餐;6:積分訂單;7:自取订单
json
.
put
(
"orderType"
,
2
);
//訂單類型#1:餐廳訂單;2:線上外賣訂單3:扫码点餐;4固定二维码订单;5:预点餐;6:積分訂單;7:自取订单
//实际总价
//实际总价
json
.
put
(
"totalPrice"
,
MyOrderManage
.
getInstance
().
getTotalAmount
());
json
.
put
(
"totalPrice"
,
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getTotalAmount
());
json
.
put
(
"waimaiSendTime"
,
waimaiSendTime
);
//送单时间
json
.
put
(
"waimaiSendTime"
,
waimaiSendTime
);
//送单时间
json
.
put
(
"addressId"
,
addressId
);
json
.
put
(
"addressId"
,
addressId
);
json
.
put
(
"sendTime"
,
waimaiSendTime
);
json
.
put
(
"sendTime"
,
waimaiSendTime
);
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/PrjQueryActivity.java
View file @
e65ccb3b
...
@@ -191,7 +191,7 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
...
@@ -191,7 +191,7 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
if
(
view
.
getId
()
==
R
.
id
.
tv_prj_record_print_operation
)
{
if
(
view
.
getId
()
==
R
.
id
.
tv_prj_record_print_operation
)
{
//重印
//重印
List
<
PrjBean
.
DataBean
.
Bean
>
prjData
=
prjQueryBean
.
getData
();
List
<
PrjBean
.
DataBean
.
Bean
>
prjData
=
prjQueryBean
.
getData
();
if
(
prjData
.
get
(
position
).
getType
()
==
3
)
{
if
(
prjData
.
get
(
position
).
get
Printer
Type
()
==
3
)
{
//已打印的,提示是否重新打印
//已打印的,提示是否重新打印
new
AppDialog
().
showWaringDialog
(
mContext
,
"食品已打印,確認重印?"
,
(
view1
,
dialog
)
->
{
new
AppDialog
().
showWaringDialog
(
mContext
,
"食品已打印,確認重印?"
,
(
view1
,
dialog
)
->
{
dialog
.
dismiss
();
dialog
.
dismiss
();
...
@@ -217,12 +217,6 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
...
@@ -217,12 +217,6 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
printDatas
.
add
(
prjData
.
get
(
position
));
printDatas
.
add
(
prjData
.
get
(
position
));
printPrj
(
printDatas
);
printPrj
(
printDatas
);
}
else
if
(
prjData
.
get
(
position
+
1
).
getParentId
()
==
0
)
{
//沒有子食品
//直接打印
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
printDatas
.
add
(
prjData
.
get
(
position
));
printPrj
(
printDatas
);
}
else
if
(
prjData
.
get
(
position
).
getProductId
().
equals
(
prjData
.
get
(
position
+
1
).
getParentId
()
+
""
))
{
}
else
if
(
prjData
.
get
(
position
).
getProductId
().
equals
(
prjData
.
get
(
position
+
1
).
getParentId
()
+
""
))
{
//有子食品
//有子食品
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
...
@@ -235,15 +229,19 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
...
@@ -235,15 +229,19 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
}
}
}
}
printPrj
(
printDatas
);
printPrj
(
printDatas
);
}
else
{
//沒有子食品
//直接打印
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
printDatas
.
add
(
prjData
.
get
(
position
));
printPrj
(
printDatas
);
}
}
}
else
{
}
else
{
//是
子
食品,直接打印子食品
//是
主
食品,直接打印子食品
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
printDatas
.
add
(
prjData
.
get
(
position
));
printDatas
.
add
(
prjData
.
get
(
position
));
printPrj
(
printDatas
);
printPrj
(
printDatas
);
}
}
//添加重印的報警推送
OkHttp3Utils
.
noticePersonnel
(
AppConstans
.
RP_REPRINT_CODE
,
"重印,訂單號:"
+
prjData
.
get
(
position
).
getOrderNo
());
}
}
private
void
printPrj
(
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
)
{
private
void
printPrj
(
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
)
{
...
@@ -253,6 +251,8 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
...
@@ -253,6 +251,8 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
printDatas
.
get
(
i
).
setCurrentIndex
(
i
);
printDatas
.
get
(
i
).
setCurrentIndex
(
i
);
ids
.
append
(
printDatas
.
get
(
i
).
getId
());
ids
.
append
(
printDatas
.
get
(
i
).
getId
());
}
}
//添加重印的報警推送
OkHttp3Utils
.
noticePersonnel
(
AppConstans
.
RP_REPRINT_CODE
,
"重印,訂單號:"
+
printDatas
.
get
(
0
).
getOrderNo
());
String
finalIds
=
ids
.
toString
();
String
finalIds
=
ids
.
toString
();
CC
.
obtainBuilder
(
"Component.Print"
)
CC
.
obtainBuilder
(
"Component.Print"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_KITCHEN
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_KITCHEN
)
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/adapter/PrjStateAdapter.java
View file @
e65ccb3b
...
@@ -32,19 +32,21 @@ public class PrjStateAdapter extends BaseQuickAdapter<PrjBean.DataBean.Bean, Bas
...
@@ -32,19 +32,21 @@ public class PrjStateAdapter extends BaseQuickAdapter<PrjBean.DataBean.Bean, Bas
TextView
state
=
baseViewHolder
.
getView
(
R
.
id
.
tv_prj_record_print_state
);
TextView
state
=
baseViewHolder
.
getView
(
R
.
id
.
tv_prj_record_print_state
);
TextView
foodName
=
baseViewHolder
.
getView
(
R
.
id
.
tv_prj_record_food_name
);
TextView
foodName
=
baseViewHolder
.
getView
(
R
.
id
.
tv_prj_record_food_name
);
foodName
.
setText
(
dataBean
.
getProductName
());
foodName
.
setText
(
dataBean
.
getProductName
());
if
(
dataBean
.
getPresence
()
==
0
)
{
state
.
setText
(
"沒有生成"
);
if
(
dataBean
.
getPrinterType
()
==
3
)
{
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
}
else
if
(
dataBean
.
getType
()
==
3
)
{
state
.
setText
(
"已打印"
);
state
.
setText
(
"已打印"
);
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
order_state4_color
));
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
order_state4_color
));
}
else
if
(
dataBean
.
getType
()
==
1
)
{
}
else
if
(
dataBean
.
getPresence
()
==
0
)
{
state
.
setText
(
"打印失敗"
);
state
.
setText
(
"未生成打印記錄"
);
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
}
else
if
(
dataBean
.
getPrinterDeviceId
()
==
-
1
)
{
state
.
setText
(
"未配置打印位置"
);
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
}
else
{
}
else
{
state
.
setText
(
"打印失敗"
);
state
.
setText
(
"打印失敗"
);
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
state
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
red
));
}
}
state
.
setSelected
(
true
);
if
(
baseViewHolder
.
getAdapterPosition
()
==
0
)
{
if
(
baseViewHolder
.
getAdapterPosition
()
==
0
)
{
//只第一次測量一下
//只第一次測量一下
indentation
=
new
BigDecimal
(
foodName
.
getPaint
().
measureText
(
"哈"
)).
setScale
(
0
,
BigDecimal
.
ROUND_HALF_UP
).
intValue
();
indentation
=
new
BigDecimal
(
foodName
.
getPaint
().
measureText
(
"哈"
)).
setScale
(
0
,
BigDecimal
.
ROUND_HALF_UP
).
intValue
();
...
...
delivery_pick_module/src/main/res/layout/item_prj_state.xml
View file @
e65ccb3b
...
@@ -25,6 +25,8 @@
...
@@ -25,6 +25,8 @@
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:ellipsize=
"marquee"
android:focusableInTouchMode=
"true"
android:gravity=
"center"
android:gravity=
"center"
android:textColor=
"@color/theme_333_color"
android:textColor=
"@color/theme_333_color"
android:textSize=
"@dimen/dp_16"
android:textSize=
"@dimen/dp_16"
...
...
download-module/src/main/java/com/gingersoft/gsa/cloud/download/mvp/presenter/DownloadPresenter.java
View file @
e65ccb3b
...
@@ -7,14 +7,13 @@ import com.gingersoft.gsa.cloud.base.Api;
...
@@ -7,14 +7,13 @@ import com.gingersoft.gsa.cloud.base.Api;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.FoodBean
;
import
com.gingersoft.gsa.cloud.base.common.bean.FoodBean
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.database.bean.ColorBean
;
import
com.gingersoft.gsa.cloud.database.bean.ColorBean
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.database.bean.Function
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterListBean
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterListBean
;
import
com.gingersoft.gsa.cloud.database.utils.ColorDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ColorDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
...
...
main-module/src/main/AndroidManifest.xml
View file @
e65ccb3b
...
@@ -5,6 +5,9 @@
...
@@ -5,6 +5,9 @@
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application>
<application>
<activity
<activity
android:name=
".mvp.ui.activity.menu.ShellActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.NewMainActivity"
android:name=
".mvp.ui.activity.NewMainActivity"
android:launchMode=
"singleTask"
/>
android:launchMode=
"singleTask"
/>
<activity
<activity
...
@@ -31,34 +34,6 @@
...
@@ -31,34 +34,6 @@
<activity
<activity
android:name=
".mvp.ui.activity.RestaurantQrCodeActivity"
android:name=
".mvp.ui.activity.RestaurantQrCodeActivity"
android:screenOrientation=
"portrait"
/>
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.AddFoodItemsActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewSelectPeriodActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectTimePeriodActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewFoodTypeActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectFoodTypeActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.FoodDetailsActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectFoodGroupActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewFoodActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewAddFoodGroupActivity"
android:screenOrientation=
"portrait"
/>
<activity
<activity
android:name=
".mvp.ui.activity.menu.FoodMenuManageActivity"
android:name=
".mvp.ui.activity.menu.FoodMenuManageActivity"
android:screenOrientation=
"portrait"
/>
android:screenOrientation=
"portrait"
/>
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
View file @
e65ccb3b
...
@@ -7,6 +7,7 @@ import com.billy.cc.core.component.CCResult;
...
@@ -7,6 +7,7 @@ import com.billy.cc.core.component.CCResult;
import
com.billy.cc.core.component.IComponent
;
import
com.billy.cc.core.component.IComponent
;
import
com.gingersoft.gsa.cloud.function.FModule
;
import
com.gingersoft.gsa.cloud.function.FModule
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.FoodMenuManageActivity
;
public
class
ComponentMain
implements
IComponent
{
public
class
ComponentMain
implements
IComponent
{
...
@@ -70,6 +71,11 @@ public class ComponentMain implements IComponent {
...
@@ -70,6 +71,11 @@ public class ComponentMain implements IComponent {
case
"showMainActivity"
:
case
"showMainActivity"
:
openActivity
(
cc
);
openActivity
(
cc
);
break
;
break
;
case
"foodMenuActivity"
:
Intent
intent
=
new
Intent
(
cc
.
getContext
(),
FoodMenuManageActivity
.
class
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
cc
.
getContext
().
startActivity
(
intent
);
break
;
case
"getLifecycleFragment"
:
case
"getLifecycleFragment"
:
//demo for provide fragment object to other component
//demo for provide fragment object to other component
getLifecycleFragment
(
cc
);
getLifecycleFragment
(
cc
);
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
FoodSe
tComponent.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
Selec
tComponent.java
View file @
e65ccb3b
...
@@ -5,18 +5,18 @@ import dagger.Component;
...
@@ -5,18 +5,18 @@ import dagger.Component;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.
FoodSe
tModule
;
import
com.gingersoft.gsa.cloud.main.di.module.
Selec
tModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodSe
tContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Selec
tContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.
FoodSe
tFragment
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.
Selec
tFragment
;
/**
/**
* ================================================
* ================================================
* Description:
* Description:
* <p>
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:29
* Created by MVPArmsTemplate on 1
1/05/2020 14:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <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">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodSetFragment;
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodSetFragment;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
@Component
(
modules
=
FoodSe
tModule
.
class
,
dependencies
=
AppComponent
.
class
)
@Component
(
modules
=
Selec
tModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
FoodSe
tComponent
{
public
interface
Selec
tComponent
{
void
inject
(
FoodSe
tFragment
fragment
);
void
inject
(
Selec
tFragment
fragment
);
@Component
.
Builder
@Component
.
Builder
interface
Builder
{
interface
Builder
{
@BindsInstance
@BindsInstance
FoodSetComponent
.
Builder
view
(
FoodSe
tContract
.
View
view
);
SelectComponent
.
Builder
view
(
Selec
tContract
.
View
view
);
FoodSe
tComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
Selec
tComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
FoodSe
tComponent
build
();
Selec
tComponent
build
();
}
}
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
FoodSe
tModule.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
Selec
tModule.java
View file @
e65ccb3b
...
@@ -6,15 +6,15 @@ import dagger.Binds;
...
@@ -6,15 +6,15 @@ import dagger.Binds;
import
dagger.Module
;
import
dagger.Module
;
import
dagger.Provides
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodSe
tContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Selec
tContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
FoodSe
tModel
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
Selec
tModel
;
/**
/**
* ================================================
* ================================================
* Description:
* Description:
* <p>
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:29
* Created by MVPArmsTemplate on 1
1/05/2020 14:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <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">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.FoodSetModel;
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.FoodSetModel;
* ================================================
* ================================================
*/
*/
@Module
@Module
public
abstract
class
FoodSe
tModule
{
public
abstract
class
Selec
tModule
{
@Binds
@Binds
abstract
FoodSetContract
.
Model
bindFoodSetModel
(
FoodSe
tModel
model
);
abstract
SelectContract
.
Model
bindSelectModel
(
Selec
tModel
model
);
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
FoodSe
tContract.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
Selec
tContract.java
View file @
e65ccb3b
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
* ================================================
* ================================================
* Description:
* Description:
* <p>
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:29
* Created by MVPArmsTemplate on 1
1/05/2020 14:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <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">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
interface
FoodSe
tContract
{
public
interface
Selec
tContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
interface
View
extends
IView
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
FoodSe
tModel.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
Selec
tModel.java
View file @
e65ccb3b
...
@@ -2,22 +2,20 @@ package com.gingersoft.gsa.cloud.main.mvp.model;
...
@@ -2,22 +2,20 @@ package com.gingersoft.gsa.cloud.main.mvp.model;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectContract
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.FragmentScope
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodSetContract
;
/**
/**
* ================================================
* ================================================
* Description:
* Description:
* <p>
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:29
* Created by MVPArmsTemplate on 1
1/05/2020 14:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <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">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
@@ -26,14 +24,14 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.FoodSetContract;
...
@@ -26,14 +24,14 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.FoodSetContract;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
FoodSetModel
extends
BaseModel
implements
FoodSe
tContract
.
Model
{
public
class
SelectModel
extends
BaseModel
implements
Selec
tContract
.
Model
{
@Inject
@Inject
Gson
mGson
;
Gson
mGson
;
@Inject
@Inject
Application
mApplication
;
Application
mApplication
;
@Inject
@Inject
public
FoodSe
tModel
(
IRepositoryManager
repositoryManager
)
{
public
Selec
tModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
super
(
repositoryManager
);
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/FoodMenuEditBean.java
View file @
e65ccb3b
...
@@ -30,15 +30,13 @@ public class FoodMenuEditBean {
...
@@ -30,15 +30,13 @@ public class FoodMenuEditBean {
*/
*/
public
final
static
int
EDIT_FOOD_ITEM_BOOLEAN
=
4
;
public
final
static
int
EDIT_FOOD_ITEM_BOOLEAN
=
4
;
/**
/**
*
多選
*
上傳圖片
*/
*/
public
final
static
int
EDIT_FOOD_ITEM_CHECKBOX
=
5
;
public
final
static
int
EDIT_FOOD_ITEM_UPLOAD_PIC
=
5
;
/**
/**
*
上傳圖片
*
多選
*/
*/
public
final
static
int
EDIT_FOOD_ITEM_UPLOAD_PIC
=
6
;
public
final
static
int
EDIT_FOOD_ITEM_CHECKBOX
=
6
;
/**
/**
* 單選
* 單選
*/
*/
...
@@ -114,6 +112,14 @@ public class FoodMenuEditBean {
...
@@ -114,6 +112,14 @@ public class FoodMenuEditBean {
*/
*/
private
boolean
isEdit
=
true
;
private
boolean
isEdit
=
true
;
/**
/**
* 選擇類型,當item類型為EDIT_FOOD_ITEM_SELECT時,有選擇時間,日期,
*/
private
int
selectType
;
public
final
static
int
SELECT_DATE
=
1
;
public
final
static
int
SELECT_TIME
=
2
;
/**
* 顯示端
* 顯示端
*/
*/
@Data
@Data
...
@@ -139,6 +145,7 @@ public class FoodMenuEditBean {
...
@@ -139,6 +145,7 @@ public class FoodMenuEditBean {
this
.
showTitle
=
showTitle
;
this
.
showTitle
=
showTitle
;
this
.
isRequired
=
isRequired
;
this
.
isRequired
=
isRequired
;
}
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
boolean
isEdit
)
{
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
boolean
isEdit
)
{
this
.
itemType
=
itemType
;
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
showTitle
=
showTitle
;
...
@@ -146,6 +153,7 @@ public class FoodMenuEditBean {
...
@@ -146,6 +153,7 @@ public class FoodMenuEditBean {
this
.
hintText
=
hintText
;
this
.
hintText
=
hintText
;
this
.
isEdit
=
isEdit
;
this
.
isEdit
=
isEdit
;
}
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
)
{
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
)
{
this
.
itemType
=
itemType
;
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
showTitle
=
showTitle
;
...
@@ -161,6 +169,15 @@ public class FoodMenuEditBean {
...
@@ -161,6 +169,15 @@ public class FoodMenuEditBean {
this
.
showValue
=
showValue
;
this
.
showValue
=
showValue
;
}
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
String
showValue
,
int
selectType
)
{
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
isRequired
=
isRequired
;
this
.
hintText
=
hintText
;
this
.
showValue
=
showValue
;
this
.
selectType
=
selectType
;
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
int
fragmentType
)
{
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
int
fragmentType
)
{
this
.
itemType
=
itemType
;
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
showTitle
=
showTitle
;
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
FoodSe
tPresenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
Selec
tPresenter.java
View file @
e65ccb3b
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodSe
tContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Selec
tContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* ================================================
* Description:
* Description:
* <p>
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:29
* Created by MVPArmsTemplate on 1
1/05/2020 14:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <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">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
@@ -26,7 +26,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
...
@@ -26,7 +26,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
FoodSetPresenter
extends
BasePresenter
<
FoodSetContract
.
Model
,
FoodSe
tContract
.
View
>
{
public
class
SelectPresenter
extends
BasePresenter
<
SelectContract
.
Model
,
Selec
tContract
.
View
>
{
@Inject
@Inject
RxErrorHandler
mErrorHandler
;
RxErrorHandler
mErrorHandler
;
@Inject
@Inject
...
@@ -37,7 +37,7 @@ public class FoodSetPresenter extends BasePresenter<FoodSetContract.Model, FoodS
...
@@ -37,7 +37,7 @@ public class FoodSetPresenter extends BasePresenter<FoodSetContract.Model, FoodS
AppManager
mAppManager
;
AppManager
mAppManager
;
@Inject
@Inject
public
FoodSetPresenter
(
FoodSetContract
.
Model
model
,
FoodSe
tContract
.
View
rootView
)
{
public
SelectPresenter
(
SelectContract
.
Model
model
,
Selec
tContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/ExpandListActivity.java
View file @
e65ccb3b
...
@@ -10,6 +10,7 @@ import androidx.core.content.ContextCompat;
...
@@ -10,6 +10,7 @@ import androidx.core.content.ContextCompat;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.R2
;
...
@@ -24,7 +25,9 @@ import com.jess.arms.utils.ArmsUtils;
...
@@ -24,7 +25,9 @@ import com.jess.arms.utils.ArmsUtils;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.text.ParseException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.List
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.BindView
;
...
@@ -131,9 +134,18 @@ public class ExpandListActivity extends BaseActivity<ExpandListPresenter> implem
...
@@ -131,9 +134,18 @@ public class ExpandListActivity extends BaseActivity<ExpandListPresenter> implem
//保存
//保存
List
<
ExpandInfo
>
data
=
expandListAdapter
.
getData
();
List
<
ExpandInfo
>
data
=
expandListAdapter
.
getData
();
List
<
ExpandInfo
>
updateDate
=
new
ArrayList
<>();
List
<
ExpandInfo
>
updateDate
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
data
.
size
();
i
++)
{
for
(
ExpandInfo
expandInfo
:
data
)
{
if
(
data
.
get
(
i
).
isUpdate
())
{
if
(
expandInfo
.
isUpdate
()){
updateDate
.
add
(
data
.
get
(
i
));
if
(
expandInfo
.
getValueDatetime
()
!=
null
){
Calendar
calendar
=
Calendar
.
getInstance
();
try
{
calendar
.
setTime
(
TimeUtils
.
ENGLISH_DATE_FORMAT
.
parse
(
expandInfo
.
getValueDatetime
()));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
expandInfo
.
setValueDatetime
(
TimeUtils
.
getStringByFormat
(
calendar
.
getTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
updateDate
.
add
(
expandInfo
);
}
}
}
}
if
(
updateDate
.
size
()
>
0
)
{
if
(
updateDate
.
size
()
>
0
)
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodMenuManageActivity.java
View file @
e65ccb3b
...
@@ -10,12 +10,13 @@ import com.gingersoft.gsa.cloud.main.R;
...
@@ -10,12 +10,13 @@ import com.gingersoft.gsa.cloud.main.R;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuManageComponent
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuManageComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodMenuManageContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodMenuManageContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuManagePresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuManagePresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodMenuFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
FOOD_MANGER
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
getFragmentByType
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
@@ -50,7 +51,7 @@ public class FoodMenuManageActivity extends BaseFragmentActivity<FoodMenuManageP
...
@@ -50,7 +51,7 @@ public class FoodMenuManageActivity extends BaseFragmentActivity<FoodMenuManageP
@Override
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
loadRootFragment
(
R
.
id
.
layout_food_menu_content
,
FoodMenuFragment
.
newInstance
(
));
loadRootFragment
(
R
.
id
.
layout_food_menu_content
,
getFragmentByType
(
FOOD_MANGER
));
}
}
@Override
@Override
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuAdapter.java
View file @
e65ccb3b
...
@@ -13,11 +13,21 @@ import java.util.List;
...
@@ -13,11 +13,21 @@ import java.util.List;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
utils
.
time
.
TimeUtils
.
DATE_FORMAT_DATE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
utils
.
time
.
TimeUtils
.
DATE_FORMAT_DATE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
ADD_FOOD_ITEM
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
ADD_FOOD_ITEM
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
EDIT_FOOD_ITEM_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
ADD_FOOD_ITEM_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
ADD_FOOD_SET_MEAL
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
FOOD_PROPERTIES
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
FOOD_PROPERTIES
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_ITEM
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_SET_MEAL
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_SET_MEAL_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_TIME_PERIOD
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_TIME_PERIOD
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_EXCLUDE_LIST
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_FOOD
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_FOOD_ITEM_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_FOOD_SET_MEAL_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_LIST
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
SELECT_PRINT
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_TIME_PERIOD
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_TIME_PERIOD
;
...
@@ -46,6 +56,21 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
...
@@ -46,6 +56,21 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
case
ADD_FOOD_ITEM:
case
ADD_FOOD_ITEM:
foodMenuEditBeans
=
getAddFoodItems
();
foodMenuEditBeans
=
getAddFoodItems
();
break
;
break
;
case
ADD_FOOD_ITEM_GROUP:
foodMenuEditBeans
=
getAddFoodItemsGroup
();
break
;
case
NEW_FOOD_ITEM:
foodMenuEditBeans
=
getNewFoodItem
();
break
;
case
ADD_FOOD_SET_MEAL:
foodMenuEditBeans
=
getAddFoodSetMeal
();
break
;
case
NEW_FOOD_SET_MEAL_GROUP:
foodMenuEditBeans
=
getNewFoodSetMealGroup
();
break
;
case
NEW_FOOD_SET_MEAL:
foodMenuEditBeans
=
getNewFoodSetMeal
();
break
;
default
:
default
:
foodMenuEditBeans
=
null
;
foodMenuEditBeans
=
null
;
break
;
break
;
...
@@ -157,11 +182,11 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
...
@@ -157,11 +182,11 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())
,
FoodMenuEditBean
.
SELECT_DATE
));
calendar
.
set
(
Calendar
.
YEAR
,
calendar
.
get
(
Calendar
.
YEAR
)
+
10
);
calendar
.
set
(
Calendar
.
YEAR
,
calendar
.
get
(
Calendar
.
YEAR
)
+
10
);
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())
,
FoodMenuEditBean
.
SELECT_DATE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始時間"
,
false
,
""
,
"00:00:00"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始時間"
,
false
,
""
,
"00:00:00"
,
FoodMenuEditBean
.
SELECT_TIME
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束時間"
,
false
,
""
,
"23:59:59"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束時間"
,
false
,
""
,
"23:59:59"
,
FoodMenuEditBean
.
SELECT_TIME
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"週期"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"週期"
,
false
));
...
@@ -185,9 +210,9 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
...
@@ -185,9 +210,9 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
*/
*/
public
static
List
<
FoodMenuEditBean
>
getAddFoodItems
()
{
public
static
List
<
FoodMenuEditBean
>
getAddFoodItems
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱"
,
false
,
"
請輸入時段名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱"
,
false
,
"
"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"細線組"
,
false
,
"請選擇"
,
EDI
T_FOOD_ITEM_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"細線組"
,
false
,
"請選擇"
,
SELEC
T_FOOD_ITEM_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最小數量"
,
false
,
"請輸入最小數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最小數量"
,
false
,
"請輸入最小數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最大數量"
,
false
,
"請輸入最大數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最大數量"
,
false
,
"請輸入最大數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"優惠金額"
,
false
,
"請輸入優惠金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"優惠金額"
,
false
,
"請輸入優惠金額"
));
...
@@ -203,8 +228,122 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
...
@@ -203,8 +228,122 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇多次"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇多次"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"選擇次數"
,
false
,
selectCount
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"選擇次數"
,
false
,
selectCount
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"默認選擇"
,
false
,
"請選擇"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"默認選擇"
,
false
,
"請選擇"
,
SELECT_LIST
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"排除選項"
,
false
,
"請選擇"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"排除選項"
,
false
,
"請選擇"
,
SELECT_EXCLUDE_LIST
));
return
foodMenuEditBeans
;
}
/**
* 加配套餐
*
* @return
*/
public
static
List
<
FoodMenuEditBean
>
getAddFoodSetMeal
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱"
,
false
,
""
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"套餐"
,
false
,
"請選擇"
,
SELECT_FOOD_SET_MEAL_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"優惠金額"
,
false
,
"請輸入優惠金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"整組優惠金額"
,
false
,
"請輸入整組優惠金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"選擇數量"
,
false
,
"請輸入"
));
List
<
FoodMenuEditBean
.
ShowClient
>
showTypes
=
new
ArrayList
<>();
showTypes
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"普通組別"
,
false
));
showTypes
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"加配食品"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"展示類型"
,
false
,
showTypes
));
List
<
FoodMenuEditBean
.
ShowClient
>
selectCount
=
new
ArrayList
<>();
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇一次"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇多次"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"選擇次數"
,
false
,
selectCount
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"默認選擇"
,
false
,
"請選擇"
,
SELECT_LIST
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"排除選項"
,
false
,
"請選擇"
,
SELECT_EXCLUDE_LIST
));
return
foodMenuEditBeans
;
}
/**
* 加配細項
*
* @return
*/
public
static
List
<
FoodMenuEditBean
>
getNewFoodItem
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"細項組"
,
true
,
"請選擇細項組"
,
SELECT_FOOD_ITEM_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項名稱1"
,
true
,
"請輸入細項名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項名稱2"
,
false
,
"請輸入細項名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項名稱3"
,
false
,
"請輸入細項名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項金額"
,
true
,
"請輸入細項金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項原價"
,
true
,
"請輸入細項原價"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"打印位置"
,
true
,
"請選擇打印位置"
,
SELECT_PRINT
));
List
<
FoodMenuEditBean
.
ShowClient
>
selectCount
=
new
ArrayList
<>();
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"多選"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"口味"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"信息"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"顯示端"
,
false
,
selectCount
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"細線啟用狀態"
,
false
,
true
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"折扣"
,
false
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"服務費"
,
false
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"打印賬單上"
,
false
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"打印主項"
,
false
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_UPLOAD_PIC
,
"圖片上傳"
,
true
));
return
foodMenuEditBeans
;
}
/**
* 新增細項組
*/
public
static
List
<
FoodMenuEditBean
>
getAddFoodItemsGroup
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項組名稱1"
,
false
,
"請輸入細項組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項組名稱2"
,
false
,
"請輸入細項組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"細項組名稱3"
,
false
,
"請輸入細項組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"顯示圖片"
,
false
,
false
));
List
<
FoodMenuEditBean
.
ShowClient
>
selectCount
=
new
ArrayList
<>();
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"顯示"
,
true
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"隱藏"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"暫停"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"顯示狀態"
,
false
,
selectCount
));
return
foodMenuEditBeans
;
}
/**
* 新增套餐項
*/
public
static
List
<
FoodMenuEditBean
>
getNewFoodSetMeal
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"套餐組名稱"
,
false
,
"請選擇"
,
SELECT_FOOD_SET_MEAL_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"食品"
,
false
,
"請選擇"
,
SELECT_FOOD
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"可選擇數量"
,
false
,
"請輸入"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"自定義金額"
,
false
,
"請輸入"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"顯示"
,
false
,
true
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"分賬主項"
,
false
,
false
));
return
foodMenuEditBeans
;
}
/**
* 新增套餐組
*/
public
static
List
<
FoodMenuEditBean
>
getNewFoodSetMealGroup
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"套餐名稱1"
,
false
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"套餐名稱2"
,
false
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"套餐名稱3"
,
false
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"顯示圖片"
,
false
,
false
));
List
<
FoodMenuEditBean
.
ShowClient
>
selectCount
=
new
ArrayList
<>();
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"顯示"
,
true
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"隱藏"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"暫停"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"顯示狀態"
,
false
,
selectCount
));
return
foodMenuEditBeans
;
return
foodMenuEditBeans
;
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuMangerLeftAdapter.java
View file @
e65ccb3b
...
@@ -8,6 +8,7 @@ import androidx.core.content.ContextCompat;
...
@@ -8,6 +8,7 @@ import androidx.core.content.ContextCompat;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
...
@@ -22,16 +23,19 @@ import java.util.List;
...
@@ -22,16 +23,19 @@ import java.util.List;
* Time: 12:19
* Time: 12:19
* Use:
* Use:
*/
*/
public
class
FoodMenuMangerLeftAdapter
extends
BaseQuickAdapter
<
String
,
BaseViewHolder
>
{
public
class
FoodMenuMangerLeftAdapter
extends
BaseQuickAdapter
<
Food
,
BaseViewHolder
>
{
private
int
selectIndex
=
0
;
private
int
selectIndex
=
0
;
private
int
lastIndex
=
-
1
;
private
Context
context
;
private
Context
context
;
private
int
whiteColor
;
private
int
whiteColor
;
private
int
blueColor
;
private
int
blueColor
;
private
int
textNormalColor
;
private
int
textNormalColor
;
public
FoodMenuMangerLeftAdapter
(
Context
context
,
@Nullable
List
<
String
>
data
)
{
super
(
R
.
layout
.
item_food_menu_manger_left
,
data
);
public
FoodMenuMangerLeftAdapter
(
Context
context
,
@Nullable
List
<
Food
>
foodGroups
)
{
super
(
R
.
layout
.
item_food_menu_manger_left
,
foodGroups
);
this
.
context
=
context
;
this
.
context
=
context
;
whiteColor
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
white
);
whiteColor
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
white
);
blueColor
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
theme_color
);
blueColor
=
ContextCompat
.
getColor
(
context
,
R
.
color
.
theme_color
);
...
@@ -39,9 +43,9 @@ public class FoodMenuMangerLeftAdapter extends BaseQuickAdapter<String, BaseView
...
@@ -39,9 +43,9 @@ public class FoodMenuMangerLeftAdapter extends BaseQuickAdapter<String, BaseView
}
}
@Override
@Override
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
String
s
)
{
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
Food
food
)
{
TextView
mTvCategoryName
=
baseViewHolder
.
getView
(
R
.
id
.
tv_food_menu_manger_category_name
);
TextView
mTvCategoryName
=
baseViewHolder
.
getView
(
R
.
id
.
tv_food_menu_manger_category_name
);
mTvCategoryName
.
setText
(
s
);
mTvCategoryName
.
setText
(
food
.
getFoodName
()
);
if
(
selectIndex
==
baseViewHolder
.
getAdapterPosition
())
{
if
(
selectIndex
==
baseViewHolder
.
getAdapterPosition
())
{
mTvCategoryName
.
setBackgroundColor
(
whiteColor
);
mTvCategoryName
.
setBackgroundColor
(
whiteColor
);
mTvCategoryName
.
setTextColor
(
blueColor
);
mTvCategoryName
.
setTextColor
(
blueColor
);
...
@@ -51,8 +55,11 @@ public class FoodMenuMangerLeftAdapter extends BaseQuickAdapter<String, BaseView
...
@@ -51,8 +55,11 @@ public class FoodMenuMangerLeftAdapter extends BaseQuickAdapter<String, BaseView
}
}
}
}
public
void
setSelectIndex
(
int
selectIndex
)
{
public
void
setSelectIndex
(
int
currentIndex
)
{
this
.
selectIndex
=
selectIndex
;
if
(
selectIndex
!=
currentIndex
){
notifyDataSetChanged
();
notifyItemChanged
(
selectIndex
);
selectIndex
=
currentIndex
;
notifyItemChanged
(
selectIndex
);
}
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuMangerRightAdapter.java
View file @
e65ccb3b
...
@@ -2,14 +2,14 @@ package com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu;
...
@@ -2,14 +2,14 @@ package com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu;
import
android.widget.SectionIndexer
;
import
android.widget.SectionIndexer
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseDelegateMultiAdapter
;
import
com.chad.library.adapter.base.delegate.BaseMultiTypeDelegate
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -19,45 +19,67 @@ import java.util.List;
...
@@ -19,45 +19,67 @@ import java.util.List;
* Time: 11:38
* Time: 11:38
* Use:
* Use:
*/
*/
public
class
FoodMenuMangerRightAdapter
extends
Base
QuickAdapter
<
String
,
BaseViewHolder
>
implements
SectionIndexer
{
public
class
FoodMenuMangerRightAdapter
extends
Base
DelegateMultiAdapter
<
Food
,
BaseViewHolder
>
implements
SectionIndexer
{
private
String
[]
food
s
;
private
List
<
Food
>
foodGroup
s
;
private
List
<
String
>
category
;
private
List
<
Food
>
foods
;
public
final
int
TITLE
=
1
;
public
final
int
FOOD_INFO
=
2
;
public
FoodMenuMangerRightAdapter
(
List
<
String
>
category
,
String
[]
foods
)
{
super
(
R
.
layout
.
item_food_menu_right_food_info
,
new
ArrayList
<>(
Arrays
.
asList
(
foods
)));
public
FoodMenuMangerRightAdapter
(
List
<
Food
>
foodGroups
,
List
<
Food
>
foods
)
{
super
(
foods
);
this
.
foods
=
foods
;
this
.
foods
=
foods
;
this
.
category
=
category
;
this
.
foodGroups
=
foodGroups
;
setMultiTypeDelegate
(
new
BaseMultiTypeDelegate
<
Food
>()
{
@Override
public
int
getItemType
(
@NotNull
List
<?
extends
Food
>
list
,
int
i
)
{
if
(
list
.
get
(
i
).
getParentId
()
==
0
)
{
return
TITLE
;
}
else
{
return
FOOD_INFO
;
}
}
});
getMultiTypeDelegate
().
addItemType
(
TITLE
,
R
.
layout
.
item_food_menu_category_title
)
.
addItemType
(
FOOD_INFO
,
R
.
layout
.
item_food_menu_right_food_info
);
}
}
@Override
@Override
public
Object
[]
getSections
()
{
public
Object
[]
getSections
()
{
return
category
.
toArray
();
return
foodGroups
.
toArray
();
}
}
@Override
@Override
public
int
getPositionForSection
(
int
sectionIndex
)
{
public
int
getPositionForSection
(
int
sectionIndex
)
{
for
(
int
i
=
0
;
i
<
foods
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
foods
.
size
()
;
i
++)
{
if
(
foods
[
i
].
contains
(
category
.
get
(
sectionIndex
)))
{
if
(
foods
.
get
(
i
).
getId
().
equals
(
foodGroups
.
get
(
sectionIndex
).
getId
(
)))
{
return
i
;
return
i
;
}
}
}
}
return
0
;
return
-
1
;
}
}
@Override
@Override
public
int
getSectionForPosition
(
int
position
)
{
public
int
getSectionForPosition
(
int
position
)
{
for
(
int
i
=
0
;
i
<
category
.
size
();
i
++)
{
// int i1 = foodGroups.indexOf(foods.get(position));
if
(
foods
[
position
].
contains
(
category
.
get
(
i
)))
{
// for (int i = 0; i < foodGroups.size(); i++) {
return
i
;
// if (foods.get(position).getId().equals(foodGroups.get(i).getId())) {
}
// return i;
}
// }
return
0
;
// }
return
foodGroups
.
indexOf
(
foods
.
get
(
position
));
}
}
@Override
@Override
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
String
s
)
{
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
Food
food
)
{
baseViewHolder
.
setText
(
R
.
id
.
item_food_menu_food_name
,
s
);
if
(
baseViewHolder
.
getItemViewType
()
==
FOOD_INFO
){
baseViewHolder
.
setText
(
R
.
id
.
item_food_menu_food_name
,
food
.
getFoodName
());
}
else
{
baseViewHolder
.
setText
(
R
.
id
.
tv_food_menu_category_title
,
food
.
getFoodName
());
}
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/RadioItemProvider.java
View file @
e65ccb3b
...
@@ -42,7 +42,11 @@ public class RadioItemProvider extends FoodMenuItemProvider {
...
@@ -42,7 +42,11 @@ public class RadioItemProvider extends FoodMenuItemProvider {
super
.
convert
(
baseViewHolder
,
foodMenuEditBean
);
super
.
convert
(
baseViewHolder
,
foodMenuEditBean
);
RecyclerView
rv
=
baseViewHolder
.
getView
(
R
.
id
.
rv_radio
);
RecyclerView
rv
=
baseViewHolder
.
getView
(
R
.
id
.
rv_radio
);
rv
.
setLayoutManager
(
new
GridLayoutManager
(
context
,
2
));
rv
.
setLayoutManager
(
new
GridLayoutManager
(
context
,
2
));
rv
.
setAdapter
(
new
RadioAdapter
(
foodMenuEditBean
.
getCheckBoxList
()));
RadioAdapter
radioAdapter
=
new
RadioAdapter
(
foodMenuEditBean
.
getCheckBoxList
());
radioAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
radioAdapter
.
setCheckedIndex
(
position
);
radioAdapter
.
notifyDataSetChanged
();
});
rv
.
setAdapter
(
radioAdapter
);
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/SelectAdapter.java
0 → 100644
View file @
e65ccb3b
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
adapter
.
foodmenu
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.main.R
;
import
org.jetbrains.annotations.NotNull
;
import
java.util.List
;
/**
* @author 宇航.
* User: admin
* Date: 2020/11/5
* Time: 14:58
* Use:
*/
public
class
SelectAdapter
extends
BaseQuickAdapter
<
String
,
BaseViewHolder
>
{
public
SelectAdapter
(
List
<
String
>
strings
)
{
super
(
R
.
layout
.
item_default_select
,
strings
);
}
@Override
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
String
s
)
{
baseViewHolder
.
setText
(
R
.
id
.
tv_select_name
,
s
);
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/multi/RadioAdapter.java
View file @
e65ccb3b
...
@@ -25,6 +25,7 @@ public class RadioAdapter extends BaseQuickAdapter<FoodMenuEditBean.ShowClient,
...
@@ -25,6 +25,7 @@ public class RadioAdapter extends BaseQuickAdapter<FoodMenuEditBean.ShowClient,
public
RadioAdapter
(
@Nullable
List
<
FoodMenuEditBean
.
ShowClient
>
data
)
{
public
RadioAdapter
(
@Nullable
List
<
FoodMenuEditBean
.
ShowClient
>
data
)
{
super
(
R
.
layout
.
item_child_radio
,
data
);
super
(
R
.
layout
.
item_child_radio
,
data
);
addChildClickViewIds
(
R
.
id
.
rb_food_menu_item
);
}
}
@Override
@Override
...
@@ -32,9 +33,9 @@ public class RadioAdapter extends BaseQuickAdapter<FoodMenuEditBean.ShowClient,
...
@@ -32,9 +33,9 @@ public class RadioAdapter extends BaseQuickAdapter<FoodMenuEditBean.ShowClient,
RadioButton
radioButton
=
baseViewHolder
.
getView
(
R
.
id
.
rb_food_menu_item
);
RadioButton
radioButton
=
baseViewHolder
.
getView
(
R
.
id
.
rb_food_menu_item
);
radioButton
.
setText
(
showClient
.
getClientName
());
radioButton
.
setText
(
showClient
.
getClientName
());
radioButton
.
setChecked
(
baseViewHolder
.
getAdapterPosition
()
==
checkedIndex
);
radioButton
.
setChecked
(
baseViewHolder
.
getAdapterPosition
()
==
checkedIndex
);
radioButton
.
setOnCheckedChangeListener
((
buttonView
,
isChecked
)
->
{
}
checkedIndex
=
baseViewHolder
.
getAdapterPosition
();
notifyDataSetChanged
();
public
void
setCheckedIndex
(
int
checkedIndex
)
{
})
;
this
.
checkedIndex
=
checkedIndex
;
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/BaseFoodMenuFragment.java
View file @
e65ccb3b
...
@@ -55,11 +55,70 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
...
@@ -55,11 +55,70 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
public
final
static
int
ADD_FOOD_ITEM
=
8
;
public
final
static
int
ADD_FOOD_ITEM
=
8
;
/**
/**
*
編輯
細項組
*
選擇
細項組
*/
*/
public
final
static
int
EDI
T_FOOD_ITEM_GROUP
=
9
;
public
final
static
int
SELEC
T_FOOD_ITEM_GROUP
=
9
;
/**
* 新增細項組
*/
public
final
static
int
ADD_FOOD_ITEM_GROUP
=
10
;
/**
* 新增細項
*/
public
final
static
int
NEW_FOOD_ITEM
=
11
;
public
final
static
int
SELECT_PRINT
=
13
;
/**
* 食品管理
*/
public
final
static
int
FOOD_MANGER
=
14
;
/**
* 細項管理
*/
public
final
static
int
FOOD_ITEM_MANGER
=
15
;
/**
* 套餐管理
*/
public
final
static
int
FOOD_SET_MEAL_MANGER
=
16
;
/**
* 食品的細項頁面
*/
public
final
static
int
FOOD_ITEMS_PAGE
=
17
;
/**
* 食品的套餐頁面
*/
public
final
static
int
FOOD_SET_MEAL_PAGE
=
18
;
/**
* 加配套餐
*/
public
final
static
int
ADD_FOOD_SET_MEAL
=
19
;
/**
* 新增套餐組
*/
public
final
static
int
NEW_FOOD_SET_MEAL_GROUP
=
20
;
/**
* 新增套餐
*/
public
final
static
int
NEW_FOOD_SET_MEAL
=
21
;
/**
* 選擇套餐組
*/
public
final
static
int
SELECT_FOOD_SET_MEAL_GROUP
=
22
;
/**
* 選擇食品
*/
public
final
static
int
SELECT_FOOD
=
23
;
/**
* 選擇列表
*/
public
final
static
int
SELECT_LIST
=
24
;
/**
* 排除內容
*/
public
final
static
int
SELECT_EXCLUDE_LIST
=
25
;
protected
void
toFragmentByAdapter
(
FoodMenuAdapter
adapter
,
int
position
)
{
protected
void
toFragmentByAdapter
(
FoodMenuAdapter
adapter
,
int
position
)
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
...
@@ -77,7 +136,7 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
...
@@ -77,7 +136,7 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
fragment
=
NewFoodFragment
.
newInstance
();
fragment
=
NewFoodFragment
.
newInstance
();
break
;
break
;
case
SELECT_TIME_PERIOD:
case
SELECT_TIME_PERIOD:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇時段"
);
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇時段"
);
break
;
break
;
case
SELECT_FOOD_GROUP:
case
SELECT_FOOD_GROUP:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇食品組"
);
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇食品組"
);
...
@@ -94,9 +153,38 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
...
@@ -94,9 +153,38 @@ public abstract class BaseFoodMenuFragment<P extends IPresenter> extends BaseFra
case
ADD_FOOD_ITEM:
case
ADD_FOOD_ITEM:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"加配細項"
);
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"加配細項"
);
break
;
break
;
case
EDI
T_FOOD_ITEM_GROUP:
case
SELEC
T_FOOD_ITEM_GROUP:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇細項組"
);
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇細項組"
);
break
;
break
;
case
ADD_FOOD_ITEM_GROUP:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增細項組"
);
break
;
case
NEW_FOOD_ITEM:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增細項"
);
break
;
case
FOOD_MANGER:
case
FOOD_ITEM_MANGER:
case
FOOD_SET_MEAL_MANGER:
fragment
=
FoodMenuFragment
.
newInstance
(
fragmentType
);
break
;
case
ADD_FOOD_SET_MEAL:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"加配套餐"
);
break
;
case
NEW_FOOD_SET_MEAL:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增套餐項"
);
break
;
case
NEW_FOOD_SET_MEAL_GROUP:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增套餐組"
);
break
;
case
SELECT_FOOD_SET_MEAL_GROUP:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇套餐組"
);
break
;
case
SELECT_LIST:
fragment
=
SelectFragment
.
newInstance
(
fragmentType
,
"默認選擇"
);
break
;
case
SELECT_EXCLUDE_LIST:
fragment
=
SelectFragment
.
newInstance
(
fragmentType
,
"排除內容"
);
break
;
default
:
default
:
break
;
break
;
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodFragment.java
View file @
e65ccb3b
...
@@ -225,6 +225,9 @@ public class EditFoodFragment extends BaseFoodMenuFragment<EditFoodPresenter> im
...
@@ -225,6 +225,9 @@ public class EditFoodFragment extends BaseFoodMenuFragment<EditFoodPresenter> im
case
SELECT_TIME_PERIOD:
case
SELECT_TIME_PERIOD:
toFragmentType
=
NEW_TIME_PERIOD
;
toFragmentType
=
NEW_TIME_PERIOD
;
break
;
break
;
case
SELECT_FOOD_ITEM_GROUP:
toFragmentType
=
ADD_FOOD_ITEM_GROUP
;
break
;
default
:
default
:
break
;
break
;
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodItemsFragment.java
View file @
e65ccb3b
...
@@ -21,6 +21,7 @@ import com.gingersoft.gsa.cloud.main.mvp.presenter.EditFoodItemsPresenter;
...
@@ -21,6 +21,7 @@ import com.gingersoft.gsa.cloud.main.mvp.presenter.EditFoodItemsPresenter;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.ShellActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.ShellActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
...
@@ -29,28 +30,26 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
...
@@ -29,28 +30,26 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
/**
* ================================================
* 食品的細項、套餐
* Description:
* <p>
* Created by MVPArmsTemplate on 11/03/2020 17:54
* <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
EditFoodItemsFragment
extends
BaseFoodMenuFragment
<
EditFoodItemsPresenter
>
implements
EditFoodItemsContract
.
View
,
View
.
OnClickListener
{
public
class
EditFoodItemsFragment
extends
BaseFoodMenuFragment
<
EditFoodItemsPresenter
>
implements
EditFoodItemsContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
tv_add_item
)
@BindView
(
R2
.
id
.
tv_add_item
)
TextView
tvAddItem
;
QMUIAlpha
TextView
tvAddItem
;
@BindView
(
R2
.
id
.
tv_food_item_manger
)
@BindView
(
R2
.
id
.
tv_food_item_manger
)
TextView
tvFoodItemManger
;
QMUIAlpha
TextView
tvFoodItemManger
;
@BindView
(
R2
.
id
.
rv_food_items
)
@BindView
(
R2
.
id
.
rv_food_items
)
RecyclerView
rvFoodItems
;
RecyclerView
rvFoodItems
;
@BindView
(
R2
.
id
.
tv_food_item_name_text
)
TextView
tvListTitleName
;
private
int
fragmentType
;
public
static
EditFoodItemsFragment
newInstance
()
{
public
static
EditFoodItemsFragment
newInstance
(
int
fragmentType
)
{
EditFoodItemsFragment
fragment
=
new
EditFoodItemsFragment
();
EditFoodItemsFragment
fragment
=
new
EditFoodItemsFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
FRAGMENT_TYPE
,
fragmentType
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
return
fragment
;
}
}
...
@@ -71,7 +70,19 @@ public class EditFoodItemsFragment extends BaseFoodMenuFragment<EditFoodItemsPre
...
@@ -71,7 +70,19 @@ public class EditFoodItemsFragment extends BaseFoodMenuFragment<EditFoodItemsPre
@Override
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
fragmentType
=
arguments
.
getInt
(
FRAGMENT_TYPE
);
}
if
(
fragmentType
==
FOOD_ITEMS_PAGE
)
{
tvAddItem
.
setText
(
"加配細項+"
);
tvFoodItemManger
.
setText
(
"細項管理"
);
tvListTitleName
.
setText
(
"細項組名稱"
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_PAGE
)
{
tvAddItem
.
setText
(
"加配套餐+"
);
tvFoodItemManger
.
setText
(
"套餐管理"
);
tvListTitleName
.
setText
(
"套餐名稱"
);
}
}
}
/**
/**
...
@@ -146,14 +157,24 @@ public class EditFoodItemsFragment extends BaseFoodMenuFragment<EditFoodItemsPre
...
@@ -146,14 +157,24 @@ public class EditFoodItemsFragment extends BaseFoodMenuFragment<EditFoodItemsPre
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
tv_add_item
)
{
if
(
viewId
==
R
.
id
.
tv_add_item
)
{
//加配
細項
//加配
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
if
(
fragmentType
==
FOOD_ITEMS_PAGE
)
{
intent
.
putExtra
(
FRAGMENT_TYPE
,
ADD_FOOD_ITEM
);
intent
.
putExtra
(
FRAGMENT_TYPE
,
ADD_FOOD_ITEM
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_PAGE
)
{
intent
.
putExtra
(
FRAGMENT_TYPE
,
ADD_FOOD_SET_MEAL
);
}
startActivity
(
intent
);
}
else
if
(
viewId
==
R
.
id
.
tv_food_item_manger
)
{
//管理
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
if
(
fragmentType
==
FOOD_ITEMS_PAGE
)
{
intent
.
putExtra
(
FRAGMENT_TYPE
,
FOOD_ITEM_MANGER
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_PAGE
)
{
intent
.
putExtra
(
FRAGMENT_TYPE
,
FOOD_SET_MEAL_MANGER
);
}
startActivity
(
intent
);
startActivity
(
intent
);
}
else
if
(
viewId
==
R
.
id
.
tv_food_item_manger
){
//細項管理
}
}
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodMenuFragment.java
View file @
e65ccb3b
...
@@ -6,14 +6,17 @@ import android.os.Message;
...
@@ -6,14 +6,17 @@ import android.os.Message;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.
Button
;
import
android.widget.
RelativeLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuComponent
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuComponent
;
...
@@ -22,12 +25,14 @@ import com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuPresenter;
...
@@ -22,12 +25,14 @@ import com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuPresenter;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerLeftAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerLeftAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerRightAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerRightAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.PinnedHeaderItemDecoration
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.Array
s
;
import
java.util.Array
List
;
import
java.util.List
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.BindView
;
...
@@ -53,16 +58,33 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
...
@@ -53,16 +58,33 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
@BindView
(
R2
.
id
.
topbar_food_menu
)
@BindView
(
R2
.
id
.
topbar_food_menu
)
QMUITopBar
topbarFoodMenu
;
QMUITopBar
topbarFoodMenu
;
@BindView
(
R2
.
id
.
btn_add_food_group
)
@BindView
(
R2
.
id
.
btn_add_food_group
)
Button
btnAddFoodGroup
;
QMUIAlpha
Button
btnAddFoodGroup
;
@BindView
(
R2
.
id
.
rv_food_menu_food_classification
)
@BindView
(
R2
.
id
.
rv_food_menu_food_classification
)
RecyclerView
leftRv
;
RecyclerView
leftRv
;
@BindView
(
R2
.
id
.
rv_food_menu_all_food
)
@BindView
(
R2
.
id
.
rv_food_menu_all_food
)
RecyclerView
rightRv
;
RecyclerView
rightRv
;
@BindView
(
R2
.
id
.
layout_food_menu_left
)
RelativeLayout
leftLayout
;
private
List
<
String
>
category
=
Arrays
.
asList
(
"A食品"
,
"B食品"
,
"C食品"
,
"D食品"
,
"E食品"
);
private
int
fragmentType
;
/**
* 右側滑動,會重複調用左側,這裡記錄一下上次的下標,判斷是否和上次一樣,是一樣的就不執行
*/
private
int
lastPosition
=
-
1
;
/**
* 左側的分類index
*/
private
int
sectionPosition
=
-
1
;
/**
* 左側分類recyclerview的高度的一半,避免每次計算
*/
private
int
halfLeftRvHeight
;
public
static
FoodMenuFragment
newInstance
()
{
public
static
FoodMenuFragment
newInstance
(
int
type
)
{
FoodMenuFragment
fragment
=
new
FoodMenuFragment
();
FoodMenuFragment
fragment
=
new
FoodMenuFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
FRAGMENT_TYPE
,
type
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
return
fragment
;
}
}
...
@@ -83,51 +105,128 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
...
@@ -83,51 +105,128 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
@Override
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
int
screenWidth
=
ArmsUtils
.
getScreenWidth
(
mContext
);
ViewGroup
.
LayoutParams
layoutParams
=
leftLayout
.
getLayoutParams
();
layoutParams
.
width
=
screenWidth
/
3
;
leftLayout
.
setLayoutParams
(
layoutParams
);
ViewGroup
.
LayoutParams
layoutParams1
=
rightRv
.
getLayoutParams
();
layoutParams1
.
width
=
screenWidth
-
layoutParams
.
width
;
rightRv
.
setLayoutParams
(
layoutParams1
);
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
fragmentType
=
arguments
.
getInt
(
FRAGMENT_TYPE
);
}
initAddGroupBtn
();
initTopBar
();
initTopBar
();
leftRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
)
);
initRv
(
);
leftRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
}
FoodMenuMangerLeftAdapter
foodMenuMangerLeftAdapter
=
new
FoodMenuMangerLeftAdapter
(
mContext
,
category
);
private
void
initRv
()
{
leftRv
.
setAdapter
(
foodMenuMangerLeftAdapter
);
//查詢出食品組
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mContext
);
String
[]
foods
=
new
String
[
50
];
//設置右側食品數據
for
(
int
i
=
0
;
i
<
50
;
i
++)
{
List
<
Food
>
foods
=
foodDaoUtils
.
queryAllFood
();
int
x
=
i
/
10
;
List
<
Food
>
foodGroups
=
new
ArrayList
<>();
String
foodName
=
category
.
get
(
x
);
for
(
Food
food
:
foods
)
{
foods
[
i
]
=
foodName
+
i
;
if
(
food
.
getParentId
()
==
0
)
{
foodGroups
.
add
(
food
);
}
}
}
//設置左側category的數據
LinearLayoutManager
leftLayoutManager
=
new
LinearLayoutManager
(
mContext
);
leftRv
.
setLayoutManager
(
leftLayoutManager
);
leftRv
.
setHasFixedSize
(
true
);
leftRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerLeftAdapter
foodMenuMangerLeftAdapter
=
new
FoodMenuMangerLeftAdapter
(
mContext
,
foodGroups
);
leftRv
.
setAdapter
(
foodMenuMangerLeftAdapter
);
rightRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
LinearLayoutManager
rightLayoutManager
=
new
LinearLayoutManager
(
mContext
);
FoodMenuMangerRightAdapter
foodMenuMangerRightAdapter
=
new
FoodMenuMangerRightAdapter
(
foodGroups
,
foods
);
rightRv
.
setLayoutManager
(
rightLayoutManager
);
rightRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rightRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerRightAdapter
foodMenuMangerRightAdapter
=
new
FoodMenuMangerRightAdapter
(
category
,
foods
);
PinnedHeaderItemDecoration
pinnedHeaderItemDecoration
=
new
PinnedHeaderItemDecoration
(
foodMenuMangerRightAdapter
.
TITLE
);
rightRv
.
addItemDecoration
(
pinnedHeaderItemDecoration
);
rightRv
.
setAdapter
(
foodMenuMangerRightAdapter
);
rightRv
.
setAdapter
(
foodMenuMangerRightAdapter
);
//左側category點擊時右側滾動到指定位置
foodMenuMangerLeftAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
foodMenuMangerLeftAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
int
section
=
foodMenuMangerRightAdapter
.
getPositionForSection
(
position
);
int
section
=
foodMenuMangerRightAdapter
.
getPositionForSection
(
position
);
foodMenuMangerLeftAdapter
.
setSelectIndex
(
position
);
foodMenuMangerLeftAdapter
.
setSelectIndex
(
position
);
((
LinearLayoutManager
)
rightRv
.
getLayoutManager
()).
scrollToPositionWithOffset
(
section
,
0
);
rightLayoutManager
.
scrollToPositionWithOffset
(
section
,
0
);
sectionPosition
=
position
;
moveToCenter
(
leftLayoutManager
,
sectionPosition
);
});
});
pinnedHeaderItemDecoration
.
setOnSelectListener
(
position
->
{
if
(
lastPosition
!=
position
)
{
lastPosition
=
position
;
rightRv
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
int
sectionPosition
=
foodMenuMangerRightAdapter
.
getSectionForPosition
(
lastPosition
);
@Override
if
(
this
.
sectionPosition
!=
sectionPosition
)
{
public
void
onScrollStateChanged
(
@NonNull
RecyclerView
recyclerView
,
int
newState
)
{
this
.
sectionPosition
=
sectionPosition
;
super
.
onScrollStateChanged
(
recyclerView
,
newState
);
leftRv
.
scrollToPosition
(
sectionPosition
);
foodMenuMangerLeftAdapter
.
setSelectIndex
(
sectionPosition
);
int
firstPosition
=
leftLayoutManager
.
findFirstVisibleItemPosition
();
if
(
sectionPosition
-
firstPosition
>=
0
)
{
moveToCenter
(
leftLayoutManager
,
sectionPosition
);
}
}
}
});
}
}
@Override
private
void
moveToCenter
(
LinearLayoutManager
leftLayoutManager
,
int
sectionPosition
)
{
public
void
onScrolled
(
@NonNull
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
View
childAt
=
leftRv
.
getChildAt
(
sectionPosition
-
leftLayoutManager
.
findFirstVisibleItemPosition
());
super
.
onScrolled
(
recyclerView
,
dx
,
dy
);
if
(
halfLeftRvHeight
==
0
)
{
halfLeftRvHeight
=
leftRv
.
getHeight
()
/
2
;
}
if
(
childAt
!=
null
)
{
int
y
=
(
childAt
.
getTop
()
-
halfLeftRvHeight
);
leftRv
.
smoothScrollBy
(
0
,
y
);
}
}
private
void
initAddGroupBtn
()
{
if
(
fragmentType
==
FOOD_MANGER
)
{
btnAddFoodGroup
.
setText
(
"+食品組"
);
}
else
if
(
fragmentType
==
FOOD_ITEM_MANGER
)
{
btnAddFoodGroup
.
setText
(
"+細項組"
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_MANGER
)
{
btnAddFoodGroup
.
setText
(
"+套餐組"
);
}
}
});
}
}
public
void
initTopBar
()
{
public
void
initTopBar
()
{
if
(
fragmentType
==
FOOD_MANGER
)
{
topbarFoodMenu
.
setTitle
(
"餐牌管理"
);
topbarFoodMenu
.
setTitle
(
"餐牌管理"
);
topbarFoodMenu
.
addLeftBackImageButton
().
setOnClickListener
(
v
->
onBackPressedSupport
());
}
else
if
(
fragmentType
==
FOOD_ITEM_MANGER
)
{
topbarFoodMenu
.
setTitle
(
"細項管理"
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_MANGER
)
{
topbarFoodMenu
.
setTitle
(
"套餐管理"
);
}
topbarFoodMenu
.
addLeftBackImageButton
().
setOnClickListener
(
v
->
{
FragmentActivity
activity
=
getActivity
();
if
(
activity
!=
null
)
{
activity
.
onBackPressed
();
}
});
QMUIAlphaImageButton
rightButton
=
topbarFoodMenu
.
addRightImageButton
(
R
.
drawable
.
ic_add_have_border
,
R
.
id
.
topbar_right_add_button
);
QMUIAlphaImageButton
rightButton
=
topbarFoodMenu
.
addRightImageButton
(
R
.
drawable
.
ic_add_have_border
,
R
.
id
.
topbar_right_add_button
);
rightButton
.
setOnClickListener
(
v
->
toFragmentByFragmentType
(
FOOD_PROPERTIES
));
rightButton
.
setOnClickListener
(
v
->
{
if
(
fragmentType
==
FOOD_MANGER
)
{
toFragmentByFragmentType
(
FOOD_PROPERTIES
);
}
else
if
(
fragmentType
==
FOOD_ITEM_MANGER
)
{
toFragmentByFragmentType
(
NEW_FOOD_ITEM
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_MANGER
)
{
toFragmentByFragmentType
(
NEW_FOOD_SET_MEAL
);
}
});
}
}
/**
/**
...
@@ -202,7 +301,13 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
...
@@ -202,7 +301,13 @@ public class FoodMenuFragment extends BaseFoodMenuFragment<FoodMenuPresenter> im
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
btn_add_food_group
)
{
if
(
viewId
==
R
.
id
.
btn_add_food_group
)
{
if
(
fragmentType
==
FOOD_MANGER
)
{
toFragmentByFragmentType
(
NEW_FOOD_GROUP
);
toFragmentByFragmentType
(
NEW_FOOD_GROUP
);
}
else
if
(
fragmentType
==
FOOD_ITEM_MANGER
)
{
toFragmentByFragmentType
(
ADD_FOOD_ITEM_GROUP
);
}
else
if
(
fragmentType
==
FOOD_SET_MEAL_MANGER
)
{
toFragmentByFragmentType
(
NEW_FOOD_SET_MEAL_GROUP
);
}
}
}
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewFoodFragment.java
View file @
e65ccb3b
...
@@ -86,8 +86,8 @@ public class NewFoodFragment extends BaseFoodMenuFragment<NewFoodPresenter> impl
...
@@ -86,8 +86,8 @@ public class NewFoodFragment extends BaseFoodMenuFragment<NewFoodPresenter> impl
titles
.
add
(
"套餐"
);
titles
.
add
(
"套餐"
);
mFragments
.
add
(
NewlyAddedFragment
.
newInstance
(
FOOD_PROPERTIES
,
null
,
true
));
mFragments
.
add
(
NewlyAddedFragment
.
newInstance
(
FOOD_PROPERTIES
,
null
,
true
));
mFragments
.
add
(
EditFoodItemsFragment
.
newInstance
());
mFragments
.
add
(
EditFoodItemsFragment
.
newInstance
(
FOOD_ITEMS_PAGE
));
mFragments
.
add
(
FoodSetFragment
.
newInstance
(
));
mFragments
.
add
(
EditFoodItemsFragment
.
newInstance
(
FOOD_SET_MEAL_PAGE
));
//实例化适配器
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewlyAddedFragment.java
View file @
e65ccb3b
...
@@ -15,6 +15,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
...
@@ -15,6 +15,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewlyAddedComponent
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewlyAddedComponent
;
...
@@ -29,6 +31,8 @@ import com.jess.arms.utils.ArmsUtils;
...
@@ -29,6 +31,8 @@ import com.jess.arms.utils.ArmsUtils;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
.
decorator
.
DividerItemDecoration
.
VERTICAL_LIST
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
.
decorator
.
DividerItemDecoration
.
VERTICAL_LIST
;
...
@@ -114,6 +118,24 @@ public class NewlyAddedFragment extends BaseFoodMenuFragment<NewlyAddedPresenter
...
@@ -114,6 +118,24 @@ public class NewlyAddedFragment extends BaseFoodMenuFragment<NewlyAddedPresenter
foodMenuAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
foodMenuAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
List
<
FoodMenuEditBean
>
data
=
foodMenuAdapter
.
getData
();
if
(
data
.
get
(
position
).
getSelectType
()
==
FoodMenuEditBean
.
SELECT_TIME
)
{
//選擇時間
TimePickerUtils
.
init
(
mContext
,
(
date
,
v
)
->
{
data
.
get
(
position
).
setShowValue
(
TimeUtils
.
DATE_FORMAT_HMS
.
format
(
date
));
adapter
.
notifyItemChanged
(
position
);
}).
setType
(
new
boolean
[]{
false
,
false
,
false
,
true
,
true
,
true
})
.
build
()
.
show
();
}
else
if
(
data
.
get
(
position
).
getSelectType
()
==
FoodMenuEditBean
.
SELECT_DATE
)
{
//選擇日期
TimePickerUtils
.
init
(
mContext
,
(
date
,
v
)
->
{
data
.
get
(
position
).
setShowValue
(
TimeUtils
.
DATE_FORMAT_DATE
.
format
(
date
));
adapter
.
notifyItemChanged
(
position
);
}).
setType
(
new
boolean
[]{
true
,
true
,
true
,
false
,
false
,
false
})
.
build
()
.
show
();
}
else
{
if
(
toShellActivity
)
{
if
(
toShellActivity
)
{
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
intent
.
putExtra
(
FRAGMENT_TYPE
,
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
intent
.
putExtra
(
FRAGMENT_TYPE
,
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
...
@@ -121,6 +143,7 @@ public class NewlyAddedFragment extends BaseFoodMenuFragment<NewlyAddedPresenter
...
@@ -121,6 +143,7 @@ public class NewlyAddedFragment extends BaseFoodMenuFragment<NewlyAddedPresenter
}
else
{
}
else
{
toFragmentByFragmentType
(
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
toFragmentByFragmentType
(
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
}
}
}
}
else
{
}
else
{
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/
FoodSe
tFragment.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/
Selec
tFragment.java
View file @
e65ccb3b
...
@@ -10,30 +10,59 @@ import android.view.ViewGroup;
...
@@ -10,30 +10,59 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodSetComponent
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodSetContract
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerSelectComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodSetPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.SelectPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.SelectAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
.
decorator
.
DividerItemDecoration
.
VERTICAL_LIST
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
/**
*
新增食品--套餐編輯頁面
*
餐牌的選擇頁面:默認選擇,排除內容
*/
*/
public
class
FoodSetFragment
extends
BaseFoodMenuFragment
<
FoodSetPresenter
>
implements
FoodSetContract
.
View
{
public
class
SelectFragment
extends
BaseFoodMenuFragment
<
SelectPresenter
>
implements
SelectContract
.
View
{
public
static
FoodSetFragment
newInstance
()
{
@BindView
(
R2
.
id
.
topbar_list
)
FoodSetFragment
fragment
=
new
FoodSetFragment
();
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btn_save
;
private
String
title
;
private
int
fragmentType
;
private
String
itemName
;
public
static
SelectFragment
newInstance
(
int
type
,
String
title
)
{
SelectFragment
fragment
=
new
SelectFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
FRAGMENT_TYPE
,
type
);
bundle
.
putString
(
TITLE_KEY
,
title
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
return
fragment
;
}
}
@Override
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
Dagger
FoodSe
tComponent
//如找不到该类,请编译一下项目
Dagger
Selec
tComponent
//如找不到该类,请编译一下项目
.
builder
()
.
builder
()
.
appComponent
(
appComponent
)
.
appComponent
(
appComponent
)
.
view
(
this
)
.
view
(
this
)
...
@@ -43,11 +72,39 @@ public class FoodSetFragment extends BaseFoodMenuFragment<FoodSetPresenter> impl
...
@@ -43,11 +72,39 @@ public class FoodSetFragment extends BaseFoodMenuFragment<FoodSetPresenter> impl
@Override
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_
food_se
t
,
container
,
false
);
return
inflater
.
inflate
(
R
.
layout
.
fragment_
selec
t
,
container
,
false
);
}
}
@Override
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
title
=
arguments
.
getString
(
TITLE_KEY
);
fragmentType
=
arguments
.
getInt
(
FRAGMENT_TYPE
);
}
initTopBar
();
if
(
fragmentType
==
SELECT_LIST
)
{
itemName
=
"選擇"
;
}
else
if
(
fragmentType
==
SELECT_EXCLUDE_LIST
)
{
itemName
=
"排除"
;
}
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
List
<
String
>
contents
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
contents
.
add
(
itemName
+
i
);
}
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
VERTICAL_LIST
));
rvContent
.
setAdapter
(
new
SelectAdapter
(
contents
));
}
public
void
initTopBar
()
{
topbarList
.
setTitle
(
title
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
{
FragmentActivity
activity
=
getActivity
();
if
(
activity
!=
null
)
{
activity
.
onBackPressed
();
}
});
}
}
/**
/**
...
...
main-module/src/main/res/layout/fragment_edit_food.xml
View file @
e65ccb3b
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_content"
android:id=
"@+id/rv_content"
android:background=
"@color/white"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
...
...
main-module/src/main/res/layout/fragment_edit_food_items.xml
View file @
e65ccb3b
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<TextView
<
com.qmuiteam.qmui.alpha.QMUIAlpha
TextView
android:id=
"@+id/tv_add_item"
android:id=
"@+id/tv_add_item"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
android:text=
"加配細項+"
android:text=
"加配細項+"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
<TextView
<
com.qmuiteam.qmui.alpha.QMUIAlpha
TextView
android:id=
"@+id/tv_food_item_manger"
android:id=
"@+id/tv_food_item_manger"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
android:paddingBottom=
"@dimen/dp_10"
>
android:paddingBottom=
"@dimen/dp_10"
>
<TextView
<TextView
android:id=
"@+id/tv_food_item_name_text"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
...
main-module/src/main/res/layout/fragment_food_menu.xml
View file @
e65ccb3b
...
@@ -19,19 +19,19 @@
...
@@ -19,19 +19,19 @@
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<RelativeLayout
<RelativeLayout
android:layout_width=
"0dp"
android:id=
"@+id/layout_food_menu_left"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_food_classification"
android:id=
"@+id/rv_food_menu_food_classification"
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/btn_add_food_group"
android:layout_above=
"@id/btn_add_food_group"
android:background=
"@color/color_f3"
/>
android:background=
"@color/color_f3"
/>
<Button
<
com.qmuiteam.qmui.alpha.QMUIAlpha
Button
android:id=
"@+id/btn_add_food_group"
android:id=
"@+id/btn_add_food_group"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -45,9 +45,8 @@
...
@@ -45,9 +45,8 @@
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_all_food"
android:id=
"@+id/rv_food_menu_all_food"
android:layout_width=
"
0dp
"
android:layout_width=
"
match_parent
"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"3.5"
android:orientation=
"vertical"
/>
android:orientation=
"vertical"
/>
</LinearLayout>
</LinearLayout>
...
...
main-module/src/main/res/layout/fragment_newly_added.xml
View file @
e65ccb3b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<FrameLayout
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_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/grey_100"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<include
layout=
"@layout/include_list_save_layout"
/>
<include
layout=
"@layout/include_list_save_layout"
/>
...
...
main-module/src/main/res/layout/fragment_select.xml
0 → 100644
View file @
e65ccb3b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<include
layout=
"@layout/include_list_save_layout"
/>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/item_default_select.xml
0 → 100644
View file @
e65ccb3b
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
style=
"@style/MainFoodMenuEditItemLayoutStyle"
android:layout_width=
"match_parent"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_select_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"0.8"
tools:text=
"細項名稱一"
/>
<RadioButton
android:id=
"@+id/rb_default_select"
style=
"@style/MainFoodMenuEditItemTitleStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:button=
"@drawable/selector_radio_bg"
android:background=
"@null"
android:drawablePadding=
"@dimen/dp_6"
/>
</com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/item_food_menu_right_food_info.xml
View file @
e65ccb3b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_
30
0"
>
android:layout_height=
"@dimen/dp_
5
0"
>
<TextView
<TextView
android:id=
"@+id/item_food_menu_food_name"
android:id=
"@+id/item_food_menu_food_name"
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
e65ccb3b
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount;
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -37,7 +38,10 @@ public class ShoppingCart {
...
@@ -37,7 +38,10 @@ public class ShoppingCart {
}
}
return
shoppingCart
;
return
shoppingCart
;
}
}
/**
* 外送/自取 的訂單數據
*/
protected
OrderDetails
.
DataBean
dataBean
;
/**
/**
* 商品列表
* 商品列表
*/
*/
...
...
print-module/src/main/java/com/joe/print/mvp/presenter/PrintPresenter.java
View file @
e65ccb3b
...
@@ -155,5 +155,13 @@ public class PrintPresenter extends BasePresenter<PrintContract.Model, PrintCont
...
@@ -155,5 +155,13 @@ public class PrintPresenter extends BasePresenter<PrintContract.Model, PrintCont
}
}
return
printerDeviceBean
;
return
printerDeviceBean
;
}
}
public
PrinterDeviceBean
getPrinterDeviceBeanByName
(
List
<
PrinterDeviceBean
>
printerDeviceBeans
,
String
printDeviceName
)
{
for
(
PrinterDeviceBean
printerDeviceBean
:
printerDeviceBeans
)
{
if
(
printDeviceName
!=
null
&&
printDeviceName
.
equals
(
printerDeviceBean
.
getName
()))
{
this
.
printerDeviceBean
=
printerDeviceBean
;
return
this
.
printerDeviceBean
;
}
}
return
null
;
}
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
View file @
e65ccb3b
...
@@ -2,34 +2,21 @@ package com.joe.print.mvp.print;
...
@@ -2,34 +2,21 @@ package com.joe.print.mvp.print;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.Bitmap
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.TakeawayOrder
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.joe.print.R
;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.joe.print.mvp.ui.adapter.BillItemAdapter
;
import
com.joe.print.mvp.ui.adapter.OtherOrderAdapter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
/**
/**
* 外送接單,印單 已改新版
* 外送接單,印單 已改新版
...
@@ -39,7 +26,7 @@ public class PrintOtherOrder extends PrinterRoot {
...
@@ -39,7 +26,7 @@ public class PrintOtherOrder extends PrinterRoot {
@Override
@Override
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
OrderDetails
.
DataBean
dataBean
=
MyOrderManage
.
getDataBean
();
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
()
.
getDataBean
();
if
(
dataBean
!=
null
)
{
if
(
dataBean
!=
null
)
{
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
//廚房單,可能會有多個IP打印
//廚房單,可能會有多個IP打印
...
@@ -70,61 +57,6 @@ public class PrintOtherOrder extends PrinterRoot {
...
@@ -70,61 +57,6 @@ public class PrintOtherOrder extends PrinterRoot {
return
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
DeliveryPrintCount
,
1
);
return
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
DeliveryPrintCount
,
1
);
}
}
private
void
addCountBitmap
(
List
<
Bitmap
>
bitmaps
,
int
count
,
Bitmap
bitmap
)
{
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
bitmaps
.
add
(
bitmap
);
}
}
private
void
addToMap
(
Map
<
String
,
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
>>
foodMaps
,
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
food
)
{
if
(
foodMaps
.
get
(
food
.
getPrintseting
())
!=
null
)
{
Objects
.
requireNonNull
(
foodMaps
.
get
(
food
.
getPrintseting
())).
add
(
food
);
}
else
{
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
>
newFoods
=
new
ArrayList
<>();
newFoods
.
add
(
food
);
foodMaps
.
put
(
Objects
.
requireNonNull
(
food
.
getPrintseting
()),
newFoods
);
}
}
//獲取廚房單圖片
private
Bitmap
getOrderKitchenBitmap
(
Context
context
,
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
>
orderDetail
,
OrderDetails
.
DataBean
dataBean
)
{
View
view
=
LinearLayout
.
inflate
(
context
,
R
.
layout
.
print_other_order_food
,
null
);
TextView
tvOrderType
=
view
.
findViewById
(
R
.
id
.
tv_order_type
);
//訂單類型。外賣or自取
TextView
tvCreateTime
=
view
.
findViewById
(
R
.
id
.
tv_order_create_time
);
TextView
tvOperator
=
view
.
findViewById
(
R
.
id
.
tv_operator_name
);
//操作人員
TextView
tvSendTime
=
view
.
findViewById
(
R
.
id
.
tv_order_send_time
);
TextView
tvOrderNum
=
view
.
findViewById
(
R
.
id
.
tv_order_number
);
RecyclerView
rvFood
=
view
.
findViewById
(
R
.
id
.
rv_order_food
);
TextView
tvTakeCode
=
view
.
findViewById
(
R
.
id
.
tv_order_take_code
);
if
(
dataBean
.
getOrder_type
()
==
2
)
{
tvOrderType
.
setText
(
"外送"
);
}
else
{
tvOrderType
.
setText
(
"自取"
);
}
if
(
dataBean
.
getTakeFoodCode
()
!=
null
&&
!
dataBean
.
getTakeFoodCode
().
equals
(
"0"
))
{
tvTakeCode
.
setText
(
"取餐碼:#"
+
dataBean
.
getTakeFoodCode
());
}
else
{
view
.
findViewById
(
R
.
id
.
tv_order_take_code
).
setVisibility
(
View
.
GONE
);
}
//送貨時間
if
(!
TextUtil
.
isEmptyOrNullOrUndefined
(
dataBean
.
getSEND_TIME
()))
{
tvSendTime
.
setVisibility
(
View
.
VISIBLE
);
tvSendTime
.
setText
(
"送貨時間:"
+
dataBean
.
getSEND_TIME
());
}
else
{
tvSendTime
.
setVisibility
(
View
.
GONE
);
}
tvOperator
.
setText
(
"操作:"
+
GsaCloudApplication
.
getMemberName
());
//創建時間
tvCreateTime
.
setText
(
TimeUtils
.
parseTimeRepeat
(
dataBean
.
getCREATE_TIME
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
//訂單號
tvOrderNum
.
setText
(
"單號:"
+
dataBean
.
getORDER_NO
());
rvFood
.
setLayoutManager
(
new
LinearLayoutManager
(
context
));
rvFood
.
setAdapter
(
new
OtherOrderAdapter
(
context
,
orderDetail
,
false
));
return
viewToBitmap
(
context
,
view
);
}
private
Bitmap
getBitmap
(
Context
mContext
,
OrderDetails
.
DataBean
data
,
PrinterDeviceBean
deviceBean
)
{
private
Bitmap
getBitmap
(
Context
mContext
,
OrderDetails
.
DataBean
data
,
PrinterDeviceBean
deviceBean
)
{
LinearLayout
layout
=
new
LinearLayout
(
mContext
);
LinearLayout
layout
=
new
LinearLayout
(
mContext
);
layout
.
setOrientation
(
LinearLayout
.
VERTICAL
);
layout
.
setOrientation
(
LinearLayout
.
VERTICAL
);
...
@@ -163,130 +95,8 @@ public class PrintOtherOrder extends PrinterRoot {
...
@@ -163,130 +95,8 @@ public class PrintOtherOrder extends PrinterRoot {
return
viewToZoomBitmap
(
mContext
,
layout
,
deviceBean
);
return
viewToZoomBitmap
(
mContext
,
layout
,
deviceBean
);
}
}
private
Bitmap
initPrintView
(
Context
context
,
OrderDetails
.
DataBean
data
)
{
View
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
print_confirm_order_view
,
null
,
false
);
TextView
tvOrderClosing
=
view
.
findViewById
(
R
.
id
.
tv_order_closing
);
TextView
tvBillNumber
=
view
.
findViewById
(
R
.
id
.
tv_bill_number
);
//品牌名
setText
(
view
,
R
.
id
.
tv_brand_name
,
GsaCloudApplication
.
getBrandName
());
//餐廳名
setText
(
view
,
R
.
id
.
tv_restaurant_name
,
GsaCloudApplication
.
getRestaurantName
());
// 訂單類型
setText
(
view
,
R
.
id
.
tv_order_type
,
data
.
getOrder_type
()
==
2
?
"外送"
:
"自取"
);
// 訂單號
setText
(
view
,
R
.
id
.
tv_order_number
,
"單號:"
+
data
.
getORDER_NO
());
if
(
data
.
getOrder_type
()
==
7
)
{
//自取 顯示 取餐碼+訂單碼
if
(!
TextUtil
.
isEmptyOrNullOrUndefined
(
data
.
getTakeFoodCode
()))
{
setText
(
view
,
R
.
id
.
tv_order_take_food_code
,
"取餐碼:"
+
data
.
getTakeFoodCode
());
}
}
else
{
//外送 顯示訂單碼
setText
(
view
,
R
.
id
.
tv_order_take_food_code
,
"訂單碼:"
+
data
.
getTakeFoodCode
());
}
if
(
data
.
getTakeFoodCode
()
==
null
||
data
.
getTakeFoodCode
().
equals
(
"0"
))
{
view
.
findViewById
(
R
.
id
.
tv_order_take_food_code
).
setVisibility
(
View
.
GONE
);
}
if
(
data
.
getBillNo
()
==
null
||
data
.
getBillNo
().
length
()
<=
0
)
{
tvBillNumber
.
setVisibility
(
View
.
GONE
);
}
else
{
tvBillNumber
.
setText
(
"訂單碼:"
+
data
.
getBillNo
());
}
//訂單創建時間
setText
(
view
,
R
.
id
.
tv_order_create
,
context
.
getString
(
R
.
string
.
create_order_time
)
+
TimeUtils
.
parseTimeRepeat
(
data
.
getCREATE_TIME
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
String
amountUnit
=
context
.
getString
(
R
.
string
.
amount_unit
);
RecyclerView
rvBill
=
view
.
findViewById
(
R
.
id
.
rv_bill
);
List
<
PrintBillBean
>
billData
=
new
ArrayList
<>();
billData
.
add
(
getBillBean
(
"合計:"
,
amountUnit
+
MoneyUtil
.
sub
(
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getLunchbox
()),
data
.
getDELIVERY_CHARGE
())));
if
(
data
.
getLunchbox
()
!=
0
)
{
billData
.
add
(
getBillBean
(
"餐盒費:"
,
amountUnit
+
data
.
getLunchbox
()));
}
if
(
data
.
getDELIVERY_CHARGE
()
!=
0
)
{
billData
.
add
(
getBillBean
(
"送貨費:"
,
amountUnit
+
data
.
getDELIVERY_CHARGE
()));
}
if
(
data
.
getCouponList
()
!=
null
&&
data
.
getCouponList
().
size
()
>
0
)
{
for
(
OrderDetails
.
DataBean
.
CouponBean
coupon
:
data
.
getCouponList
())
{
billData
.
add
(
getBillBean
(
coupon
.
getCouponName
()
+
":"
,
"-$"
+
coupon
.
getDiscount_amount
()));
}
}
//總金額減去餐盒費之後的價格
// double amount1 = MoneyUtil.sub(Double.parseDouble(Objects.requireNonNull(data.getTOTAL_AMOUNT())), data.getLunchbox());
//總金額減去餐盒費、減去配送費之後的價格
// double amount2 = MoneyUtil.sub(amount1, data.getDELIVERY_CHARGE());
//總金額減去餐盒費、減去配送費、減去折扣之後的價格
// double amount3 = MoneyUtil.sub(amount2, data.getDiscount_amount());
// billData.add(getBillBean("總金額:", amountUnit + data.getTOTAL_AMOUNT()));
BillItemAdapter
adapter
=
new
BillItemAdapter
(
billData
);
rvBill
.
setLayoutManager
(
new
LinearLayoutManager
(
context
));
rvBill
.
setAdapter
(
adapter
);
//總金額
setText
(
view
,
R
.
id
.
tv_total
,
amountUnit
+
data
.
getTOTAL_AMOUNT
());
//支付金額
setText
(
view
,
R
.
id
.
tv_pay_amount_text
,
"支付金額:"
+
amountUnit
+
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getDiscount_amount
()));
if
(
data
.
getOrderPayType
()
==
1
)
{
//貨到付款
setText
(
view
,
R
.
id
.
tv_pay_type
,
"貨到付款"
);
}
else
if
(
data
.
getOrderPayType
()
==
0
)
{
setText
(
view
,
R
.
id
.
tv_pay_type
,
"店內支付"
);
}
else
if
(
data
.
getOrderPayType
()
==
2
)
{
setText
(
view
,
R
.
id
.
tv_pay_type
,
"在線支付"
);
//顯示支付時間
if
(
data
.
getPayTime
()
!=
null
)
{
tvOrderClosing
.
setText
(
"支付時間:"
+
data
.
getPayTime
());
tvOrderClosing
.
setVisibility
(
View
.
VISIBLE
);
}
}
setText
(
view
,
R
.
id
.
tv_pay_amount_text
,
"支付金額:"
+
amountUnit
+
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getDiscount_amount
()));
//收貨時間
setText
(
view
,
R
.
id
.
tv_delivery_time
,
data
.
getOrder_type
()
==
2
?
data
.
getSEND_TIME
()
:
data
.
getTakeTime
());
if
(
data
.
getOrder_type
()
!=
2
)
{
//自取,隱藏地址和收貨人
view
.
findViewById
(
R
.
id
.
tv_address
).
setVisibility
(
View
.
GONE
);
view
.
findViewById
(
R
.
id
.
tv_receiver
).
setVisibility
(
View
.
GONE
);
}
else
{
//收貨地址
setText
(
view
,
R
.
id
.
tv_address
,
context
.
getString
(
R
.
string
.
address
)
+
data
.
getAddressDetail
());
//收貨人
setText
(
view
,
R
.
id
.
tv_receiver
,
"收貨人:"
+
data
.
getRECEIVER
());
}
//手機號
setText
(
view
,
R
.
id
.
tv_phone
,
"手機號:"
+
data
.
getPHONE
());
//底部時間
// setText(view, R.id.tv_bottom_time, "手機號:" + data.getPHONE());
//備註
if
(
data
.
getRemark
()
!=
null
&&
!
data
.
getRemark
().
isEmpty
())
{
setText
(
view
,
R
.
id
.
tv_remark
,
"備註:"
+
data
.
getRemark
());
view
.
findViewById
(
R
.
id
.
tv_remark
).
setVisibility
(
View
.
VISIBLE
);
}
else
{
view
.
findViewById
(
R
.
id
.
tv_remark
).
setVisibility
(
View
.
GONE
);
}
if
(
data
.
getPRODUCT_NAME
()
!=
null
)
{
RecyclerView
rvFoodList
=
view
.
findViewById
(
R
.
id
.
rv_order_print_food
);
rvFoodList
.
setLayoutManager
(
new
LinearLayoutManager
(
context
));
rvFoodList
.
setAdapter
(
new
OtherOrderAdapter
(
context
,
data
.
getPRODUCT_NAME
(),
true
));
}
return
viewToBitmap
(
context
,
view
);
}
private
PrintBillBean
getBillBean
(
String
title
,
String
value
)
{
private
PrintBillBean
getBillBean
(
String
title
,
String
value
)
{
return
new
PrintBillBean
(
title
,
value
);
return
new
PrintBillBean
(
title
,
value
);
}
}
private
void
setAmount
(
Double
data
,
TextView
tvText
,
TextView
tvAmount
,
String
amountUnit
)
{
if
(
data
<=
0
)
{
tvText
.
setVisibility
(
View
.
GONE
);
tvAmount
.
setVisibility
(
View
.
GONE
);
}
else
{
tvText
.
setVisibility
(
View
.
VISIBLE
);
tvAmount
.
setVisibility
(
View
.
VISIBLE
);
tvAmount
.
setText
(
amountUnit
+
data
.
toString
());
}
}
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
View file @
e65ccb3b
...
@@ -6,11 +6,13 @@ import android.view.LayoutInflater;
...
@@ -6,11 +6,13 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.TakeawayOrder
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
...
@@ -21,6 +23,7 @@ import com.joe.print.R;
...
@@ -21,6 +23,7 @@ import com.joe.print.R;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.joe.print.mvp.ui.adapter.BillItemAdapter
;
import
com.joe.print.mvp.ui.adapter.BillItemAdapter
;
import
com.joe.print.mvp.ui.adapter.OtherOrderAdapter
;
import
com.joe.print.mvp.ui.adapter.OtherOrderAdapter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -33,7 +36,7 @@ public class PrintOtherOrderClosing extends PrinterRoot {
...
@@ -33,7 +36,7 @@ public class PrintOtherOrderClosing extends PrinterRoot {
@Override
@Override
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
OrderDetails
.
DataBean
dataBean
=
MyOrderManage
.
getDataBean
();
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
()
.
getDataBean
();
if
(
dataBean
!=
null
)
{
if
(
dataBean
!=
null
)
{
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
List
<
Bitmap
>
bitmaps
=
new
ArrayList
<>();
List
<
Bitmap
>
bitmaps
=
new
ArrayList
<>();
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintPrjKitchen.java
View file @
e65ccb3b
...
@@ -55,6 +55,9 @@ public class PrintPrjKitchen extends PrinterRoot {
...
@@ -55,6 +55,9 @@ public class PrintPrjKitchen extends PrinterRoot {
Bitmap
bitmap
=
getKitChenPrintBitmap
(
mContext
,
key
,
noCut
,
deviceBean
);
Bitmap
bitmap
=
getKitChenPrintBitmap
(
mContext
,
key
,
noCut
,
deviceBean
);
bitmaps
.
add
(
bitmap
);
bitmaps
.
add
(
bitmap
);
}
}
if
(
key
==
null
)
{
key
=
""
;
}
bitmapMaps
.
put
(
key
,
bitmaps
);
bitmapMaps
.
put
(
key
,
bitmaps
);
}
}
prjMap
.
clear
();
prjMap
.
clear
();
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
e65ccb3b
...
@@ -31,7 +31,6 @@ import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
...
@@ -31,7 +31,6 @@ import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.base.order.adapter.print.FoodAdapter
;
import
com.gingersoft.gsa.cloud.base.order.adapter.print.FoodAdapter
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
...
@@ -152,6 +151,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
...
@@ -152,6 +151,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
}
}
Map
<
String
,
List
<
Bitmap
>>
printBitmap
=
getPrintBitmap
(
mContext
,
deviceBean
);
Map
<
String
,
List
<
Bitmap
>>
printBitmap
=
getPrintBitmap
(
mContext
,
deviceBean
);
List
<
Bitmap
>
bitmapList
=
printBitmap
.
get
(
""
);
List
<
Bitmap
>
bitmapList
=
printBitmap
.
get
(
""
);
//根據打印次數,複製
if
(
bitmapList
!=
null
)
{
if
(
bitmapList
!=
null
)
{
int
bitmapSize
=
bitmapList
.
size
();
int
bitmapSize
=
bitmapList
.
size
();
for
(
int
i
=
0
;
i
<
printCount
-
1
;
i
++)
{
for
(
int
i
=
0
;
i
<
printCount
-
1
;
i
++)
{
...
...
print-module/src/main/java/com/joe/print/mvp/print/service/PrjService.java
View file @
e65ccb3b
...
@@ -20,6 +20,7 @@ import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager;
...
@@ -20,6 +20,7 @@ import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager;
import
com.gingersoft.gsa.cloud.base.utils.AidlUtil
;
import
com.gingersoft.gsa.cloud.base.utils.AidlUtil
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
...
@@ -53,6 +54,7 @@ import org.json.JSONObject;
...
@@ -53,6 +54,7 @@ import org.json.JSONObject;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
...
@@ -76,7 +78,7 @@ public class PrjService extends Service implements ReceiveListener {
...
@@ -76,7 +78,7 @@ public class PrjService extends Service implements ReceiveListener {
private
Disposable
wakeDisposable
;
private
Disposable
wakeDisposable
;
private
List
<
PrinterDeviceBean
>
printerDeviceBeans
;
private
List
<
PrinterDeviceBean
>
printerDeviceBeans
;
private
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
private
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
=
new
HashMap
<>();
//
private Map<String, List<PrjBean.DataBean.Bean>> listMap = new HashMap<>();
private
List
<
PrintCurrencyBean
>
printCurrencyBeans
;
//通用打印配置
private
List
<
PrintCurrencyBean
>
printCurrencyBeans
;
//通用打印配置
private
Context
mContext
;
private
Context
mContext
;
private
String
TAG
=
"Prj"
;
private
String
TAG
=
"Prj"
;
...
@@ -324,7 +326,8 @@ public class PrjService extends Service implements ReceiveListener {
...
@@ -324,7 +326,8 @@ public class PrjService extends Service implements ReceiveListener {
private
void
newPrint
(
String
json
)
{
private
void
newPrint
(
String
json
)
{
printDatas
.
clear
();
printDatas
.
clear
();
listMap
.
clear
();
// listMap.clear();
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
=
new
HashMap
<>();
currentIndex
=
0
;
currentIndex
=
0
;
totalPrj
=
0
;
totalPrj
=
0
;
PrjBean
prjBean
=
JsonUtils
.
parseObject
(
json
,
PrjBean
.
class
);
PrjBean
prjBean
=
JsonUtils
.
parseObject
(
json
,
PrjBean
.
class
);
...
@@ -362,19 +365,23 @@ public class PrjService extends Service implements ReceiveListener {
...
@@ -362,19 +365,23 @@ public class PrjService extends Service implements ReceiveListener {
totalPrj
++;
totalPrj
++;
}
}
}
}
// PrintPrjKitchen.getPrjMap().put(key, datas);
// printDatas.addAll(datas);
}
}
}
catch
(
JSONException
e
)
{
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
setPrjIndex
(
listMap
,
totalPrj
);
initPrinterDevices
();
foreachPrint
(
listMap
);
}
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
setPrjIndex
(
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
,
int
totalPrj
)
{
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
for
(
PrjBean
.
DataBean
.
Bean
bean
:
prjMap
.
getValue
())
{
for
(
PrjBean
.
DataBean
.
Bean
bean
:
prjMap
.
getValue
())
{
bean
.
setTotalPrj
(
totalPrj
);
bean
.
setTotalPrj
(
totalPrj
);
if
(
bean
.
getStatus
()
==
2
)
{
if
(
bean
.
getStatus
()
==
2
)
{
currentIndex
++;
currentIndex
++;
}
else
{
}
else
{
if
(
currentIndex
==
0
)
{
if
(
currentIndex
==
0
)
{
currentIndex
=
1
;
currentIndex
=
1
;
}
}
}
}
...
@@ -382,13 +389,47 @@ public class PrjService extends Service implements ReceiveListener {
...
@@ -382,13 +389,47 @@ public class PrjService extends Service implements ReceiveListener {
}
}
currentIndex
++;
currentIndex
++;
}
}
//讀取打印機和通用配置,可以優化
return
listMap
;
//獲取所有打印機
}
PrinterDeviceDaoUtils
printerDeviceDaoUtils
=
new
PrinterDeviceDaoUtils
(
this
);
printerDeviceBeans
=
printerDeviceDaoUtils
.
queryAllPrinterDeviceBean
();
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
printDataToMap
(
List
<
PrjBean
.
DataBean
.
Bean
>
printData
)
{
//獲取所有通用配置
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
map
=
new
HashMap
<>();
printCurrencyBeans
=
MyPrintUtils
.
getPrintCurrencyBeans
(
this
);
PrinterDeviceBean
defaultPainter
=
null
;
initPrinterDevices
();
//獲得默認的打印機
for
(
PrinterDeviceBean
printerDeviceBean
:
printerDeviceBeans
)
{
if
(
printerDeviceBean
.
getType
()
==
2
)
{
defaultPainter
=
printerDeviceBean
;
break
;
}
}
//將prj集合通過打印位置轉成map
for
(
PrjBean
.
DataBean
.
Bean
bean
:
printData
)
{
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
bean
.
getPrintPosition
()))
{
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
if
(
defaultPainter
!=
null
)
{
//沒有打印位置的,由默認的位置去打印
bean
.
setPrintPosition
(
defaultPainter
.
getName
());
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
{
ToastUtils
.
show
(
this
,
"未配置打印機"
);
}
}
return
map
;
}
private
void
foreachPrint
(
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
)
{
//雙重遍歷可以以後優化
//雙重遍歷可以以後優化
//第二步:遍歷 Map<廚房位置,需要打印的數據>,通過廚房位置找到對應的打印機,並且通過數據拿到對應的通用配置
//第二步:遍歷 Map<廚房位置,需要打印的數據>,通過廚房位置找到對應的打印機,並且通過數據拿到對應的通用配置
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
...
@@ -409,6 +450,15 @@ public class PrjService extends Service implements ReceiveListener {
...
@@ -409,6 +450,15 @@ public class PrjService extends Service implements ReceiveListener {
}
}
}
}
private
void
initPrinterDevices
()
{
//讀取打印機和通用配置,可以優化
//獲取所有打印機
PrinterDeviceDaoUtils
printerDeviceDaoUtils
=
new
PrinterDeviceDaoUtils
(
this
);
printerDeviceBeans
=
printerDeviceDaoUtils
.
queryAllPrinterDeviceBean
();
//獲取所有通用配置
printCurrencyBeans
=
MyPrintUtils
.
getPrintCurrencyBeans
(
this
);
}
private
PrintCurrencyBean
getPrintCurrencyBean
(
List
<
PrjBean
.
DataBean
.
Bean
>
beans
)
{
private
PrintCurrencyBean
getPrintCurrencyBean
(
List
<
PrjBean
.
DataBean
.
Bean
>
beans
)
{
PrintCurrencyBean
printCurrencyBean
=
null
;
PrintCurrencyBean
printCurrencyBean
=
null
;
if
(
beans
!=
null
&&
beans
.
size
()
>
0
)
{
if
(
beans
!=
null
&&
beans
.
size
()
>
0
)
{
...
...
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
View file @
e65ccb3b
...
@@ -54,6 +54,7 @@ import com.joe.print.mvp.ui.adapter.PrintProgressAdapter;
...
@@ -54,6 +54,7 @@ import com.joe.print.mvp.ui.adapter.PrintProgressAdapter;
import
com.yanzhenjie.recyclerview.widget.DefaultItemDecoration
;
import
com.yanzhenjie.recyclerview.widget.DefaultItemDecoration
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -165,24 +166,29 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
...
@@ -165,24 +166,29 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
else
{
}
else
{
// 獲取默認打印機,如果用戶沒有配置默認打印機,就取他最近使用的一個.
// 獲取默認打印機,如果用戶沒有配置默認打印機,就取他最近使用的一個.
// 如果沒有最近使用的打印機,並且當前餐廳只有一台打印機,就用這一台打印機打印
// 如果沒有最近使用的打印機,並且當前餐廳只有一台打印機,就用這一台打印機打印
defaultPrint
=
mPresenter
.
getDefaultPrintInList
(
printerDeviceBeans
,
(
String
)
SPUtils
.
get
(
"defaultPrint"
,
""
));
defaultPrint
=
mPresenter
.
getDefaultPrintInList
(
printerDeviceBeans
,
(
String
)
SPUtils
.
get
(
"defaultPrint"
,
""
));
}
}
if
(
type
==
PrintConstans
.
PRINT_KITCHEN
)
{
if
(
type
==
PrintConstans
.
PRINT_KITCHEN
)
{
// List<PrjBean.DataBean.Bean> printDatas = (List<PrjBean.DataBean.Bean>) getIntent().getSerializableExtra("prjBeans");
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
CCUtil
.
getNavigateParam
(
this
,
"prjBeans"
,
null
);
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
CCUtil
.
getNavigateParam
(
this
,
"prjBeans"
,
null
);
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
=
PrintPrjKitchen
.
getPrjMap
();
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
=
PrintPrjKitchen
.
getPrjMap
();
String
printLocation
=
null
;
for
(
PrjBean
.
DataBean
.
Bean
prjBean
:
printDatas
)
{
for
(
PrjBean
.
DataBean
.
Bean
prjBean
:
printDatas
)
{
if
(
prjMap
.
containsKey
(
prjBean
.
getPrintPosition
()))
{
if
(
printLocation
==
null
)
{
List
<
PrjBean
.
DataBean
.
Bean
>
beans
=
prjMap
.
get
(
prjBean
.
getPrintPosition
());
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
prjBean
.
getPrintPosition
()))
{
if
(
beans
!=
null
)
{
printLocation
=
prjBean
.
getPrintPosition
();
beans
.
add
(
prjBean
);
defaultPrint
=
mPresenter
.
getPrinterDeviceBeanByName
(
printerDeviceBeans
,
printLocation
);
if
(
defaultPrint
==
null
)
{
printFile
(
"未找到對應的打印機"
);
return
;
}
}
}
else
{
}
else
{
prjMap
.
put
(
prjBean
.
getPrintPosition
(),
Collections
.
singletonList
(
prjBean
)
);
printLocation
=
defaultPrint
.
getName
(
);
}
}
}
}
// prjMap.put("", printDatas);
prjBean
.
setPrintPosition
(
printLocation
);
prjBean
.
setCurrentIndex
(
1
);
}
prjMap
.
put
(
""
,
printDatas
);
}
}
if
(
defaultPrint
==
null
)
{
if
(
defaultPrint
==
null
)
{
...
@@ -204,7 +210,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
...
@@ -204,7 +210,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
PrinterDeviceBean
defaultPrint
=
MyPrintUtils
.
configPrinterProperties
(
finalPrintCurrencyBean
,
printerDeviceBeans
.
get
(
position
));
PrinterDeviceBean
defaultPrint
=
MyPrintUtils
.
configPrinterProperties
(
finalPrintCurrencyBean
,
printerDeviceBeans
.
get
(
position
));
printByDevice
(
defaultPrint
);
printByDevice
(
defaultPrint
);
selectPrint
=
position
;
selectPrint
=
position
;
SPUtils
.
put
(
"defaultPrint"
,
printerDeviceBeans
.
get
(
position
).
getName
());
SPUtils
.
put
(
"defaultPrint"
,
printerDeviceBeans
.
get
(
position
).
getName
());
dialog
.
dismiss
();
dialog
.
dismiss
();
});
});
}
}
...
@@ -284,6 +290,61 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
...
@@ -284,6 +290,61 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
}
}
}
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
setPrjIndex
(
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
,
int
totalPrj
)
{
int
currentIndex
=
0
;
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
for
(
PrjBean
.
DataBean
.
Bean
bean
:
prjMap
.
getValue
())
{
bean
.
setTotalPrj
(
totalPrj
);
if
(
bean
.
getStatus
()
==
2
)
{
currentIndex
++;
}
else
{
if
(
currentIndex
==
0
)
{
currentIndex
=
1
;
}
}
bean
.
setCurrentIndex
(
currentIndex
);
}
currentIndex
++;
}
return
listMap
;
}
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
printDataToMap
(
List
<
PrjBean
.
DataBean
.
Bean
>
printData
)
{
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
map
=
new
HashMap
<>();
PrinterDeviceBean
defaultPainter
=
null
;
//獲得默認的打印機
for
(
PrinterDeviceBean
printerDeviceBean
:
printerDeviceBeans
)
{
if
(
printerDeviceBean
.
getType
()
==
2
)
{
defaultPainter
=
printerDeviceBean
;
break
;
}
}
//將prj集合通過打印位置轉成map
for
(
PrjBean
.
DataBean
.
Bean
bean
:
printData
)
{
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
bean
.
getPrintPosition
()))
{
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
if
(
defaultPainter
!=
null
)
{
//沒有打印位置的,由默認的位置去打印
bean
.
setPrintPosition
(
defaultPainter
.
getName
());
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
{
ToastUtils
.
show
(
this
,
"未配置打印機"
);
}
}
return
map
;
}
private
PrintProgressAdapter
adapter
;
private
PrintProgressAdapter
adapter
;
private
void
setPrintProgress
(
int
state
)
{
private
void
setPrintProgress
(
int
state
)
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
e65ccb3b
...
@@ -2,25 +2,22 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
...
@@ -2,25 +2,22 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.app.Application
;
import
android.os.Looper
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.RoundingItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.RoundingItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.c
ommodity.MealCommodity
;
import
com.gingersoft.gsa.cloud.base.order.c
art.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.base.order.
discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.
commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
...
@@ -31,7 +28,9 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
...
@@ -31,7 +28,9 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
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.CreateOrderRequest
;
...
@@ -39,8 +38,6 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
...
@@ -39,8 +38,6 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.ActivityScope
;
...
@@ -55,8 +52,6 @@ import java.util.ArrayList;
...
@@ -55,8 +52,6 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
java.util.logging.Handler
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
...
@@ -177,7 +172,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -177,7 +172,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mMealStandPresenter
=
(
MealStandPresenter
)
this
;
mMealStandPresenter
=
(
MealStandPresenter
)
this
;
}
}
BaseOrder
baseOrder
=
OrderFactory
.
createOrder
(
FoodSummaryConstans
.
RESTAURANT_MODE
);
BaseOrder
baseOrder
=
OrderFactory
.
createOrder
(
BaseOrder
.
orderType
);
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
mDoshokuOrder
=
(
DoshokuOrder
)
baseOrder
;
mDoshokuOrder
=
(
DoshokuOrder
)
baseOrder
;
mTableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
mTableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
...
@@ -188,7 +183,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -188,7 +183,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mOrderMealList
=
mShoppingCart
.
getOrderCommodityList
();
mOrderMealList
=
mShoppingCart
.
getOrderCommodityList
();
mBillItemList
=
mShoppingCart
.
getBillItemList
();
mBillItemList
=
mShoppingCart
.
getBillItemList
();
if
(
mMealStandPresenter
!=
null
)
{
if
(
mMealStandPresenter
!=
null
&&
mDoshokuOrder
!=
null
)
{
orderPlaced
=
mDoshokuOrder
.
getOrderPlaced
();
orderPlaced
=
mDoshokuOrder
.
getOrderPlaced
();
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
e65ccb3b
...
@@ -17,6 +17,16 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
...
@@ -17,6 +17,16 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
...
@@ -32,16 +42,6 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
...
@@ -32,16 +42,6 @@ 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.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
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.table.mvp.ui.widget.CancelFoodDialog
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.google.gson.internal.LinkedTreeMap
;
import
com.google.gson.internal.LinkedTreeMap
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
...
@@ -51,13 +51,11 @@ import com.jess.arms.integration.AppManager;
...
@@ -51,13 +51,11 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.Subscriber
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
...
@@ -68,7 +66,6 @@ import io.reactivex.Observer;
...
@@ -68,7 +66,6 @@ import io.reactivex.Observer;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
...
@@ -1611,7 +1608,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1611,7 +1608,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @return
* @return
*/
*/
public
boolean
memberPointsCondition
(
double
pointsRedeem
,
String
foodName
)
{
public
boolean
memberPointsCondition
(
double
pointsRedeem
,
String
foodName
)
{
MemberInfo
memberInfo
=
mDoshokuOrder
.
getMemberInfo
();
MemberInfo
memberInfo
=
null
;
if
(
mDoshokuOrder
!=
null
)
{
memberInfo
=
mDoshokuOrder
.
getMemberInfo
();
}
if
(
memberInfo
==
null
)
{
if
(
memberInfo
==
null
)
{
//当前食品需要会员积分
//当前食品需要会员积分
if
(
pointsRedeem
>
0
)
{
if
(
pointsRedeem
>
0
)
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
e65ccb3b
...
@@ -22,6 +22,17 @@ import android.widget.LinearLayout;
...
@@ -22,6 +22,17 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.ScrollView
;
import
android.widget.ScrollView
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
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
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
...
@@ -35,6 +46,10 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
...
@@ -35,6 +46,10 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
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.print.PrinterUtils
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
...
@@ -42,7 +57,6 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
...
@@ -42,7 +57,6 @@ 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.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.BaseOrderPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter
;
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.BaseFragmentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
...
@@ -50,10 +64,6 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
...
@@ -50,10 +64,6 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
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.print.PrinterUtils
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig
;
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.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
...
@@ -70,7 +80,6 @@ import com.jess.arms.di.component.AppComponent;
...
@@ -70,7 +80,6 @@ import com.jess.arms.di.component.AppComponent;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.EventBus
;
...
@@ -79,20 +88,9 @@ import java.util.ArrayList;
...
@@ -79,20 +88,9 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
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.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
import
butterknife.OnLongClick
;
import
io.reactivex.functions.Consumer
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
@@ -340,7 +338,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -340,7 +338,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
();
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
();
tableBean
.
setPerson
(
1
);
tableBean
.
setPerson
(
1
);
tableBean
.
setTableName
(
"外賣"
);
tableBean
.
setTableName
(
"外賣"
);
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
setPerson
(
1
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
tableBean
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
tableBean
);
btn_send_order
.
setText
(
"送單信息"
);
btn_send_order
.
setText
(
"送單信息"
);
}
else
{
}
else
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
e65ccb3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.ActivityInfo
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.os.Message
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.AdapterView
;
import
android.widget.AdapterView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.SimpleAdapter
;
import
android.widget.SimpleAdapter
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
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
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent
;
...
@@ -26,21 +35,15 @@ import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction;
...
@@ -26,21 +35,15 @@ import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.google.android.material.bottomnavigation.BottomNavigationView
;
import
com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadSir
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.qmuiteam.qmui.layout.QMUIButton
;
import
com.qmuiteam.qmui.layout.QMUIButton
;
import
com.qmuiteam.qmui.util.QMUIDeviceHelper
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.popup.QMUIPopup
;
import
com.qmuiteam.qmui.widget.popup.QMUIPopup
;
...
@@ -50,7 +53,6 @@ import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
...
@@ -50,7 +53,6 @@ import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import
com.qmuiteam.qmui.widget.tab.QMUITabIndicator
;
import
com.qmuiteam.qmui.widget.tab.QMUITabIndicator
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.Subscriber
;
...
@@ -59,15 +61,6 @@ import java.util.HashMap;
...
@@ -59,15 +61,6 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
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.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
...
...
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