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
f47767b0
Commit
f47767b0
authored
Oct 24, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
賬單優化處理
parent
1a28da3b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
486 additions
and
990 deletions
+486
-990
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/UIStyleExtendedConfiguration.java
+8
-2
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsCode.java
+0
-13
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/SendOrderPresenter.java
+0
-5
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
+20
-6
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/ui/activity/DeliveryOrderMainActivity.kt
+2
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
+10
-6
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/mealManger/OpenTableManage.java
+0
-101
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillItem.java
+6
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/DiscountItem.java
+5
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+35
-37
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
+9
-3
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
+5
-5
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/CouponDiscount.java
+0
-4
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MemberDiscount.java
+0
-4
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MultyDiscount.java
+7
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/NomalDiscount.java
+0
-5
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/BaseOrder.java
+17
-4
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/DoshokuOrder.java
+63
-7
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
+33
-25
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
+13
-13
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
+0
-3
print-module/src/main/java/com/joe/print/mvp/print/PrintServe.java
+8
-11
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
+17
-11
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+10
-10
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+2
-3
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
+7
-9
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/DoshokuCart.java
+0
-63
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/ShoppingCart.java
+0
-95
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/TakeawayCart.java
+0
-21
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/CouponDiscount.java
+0
-79
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MemberDiscount.java
+0
-48
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MultyDiscount.java
+0
-26
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/NomalDiscount.java
+0
-61
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+0
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
+8
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+9
-114
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+23
-25
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+8
-13
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+16
-22
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
+28
-23
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+24
-26
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+26
-22
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+13
-15
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
+37
-29
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+8
-9
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
+9
-3
No files found.
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/UIStyleExtendedConfiguration.java
View file @
f47767b0
...
...
@@ -17,8 +17,7 @@ public class UIStyleExtendedConfiguration {
* 食品組、食品、細項、折扣行列寬高
*/
private
ExpandInfoSetting
foodGroupRow
=
ExpandInfoSetting
.
builder
()
// .valueInt(2)
.
valueChar
(
"foodGroupRow類型"
)
.
valueInt
(
2
)
.
remark
(
"食品組行數"
)
.
build
();
private
ExpandInfoSetting
foodGroupColumn
=
ExpandInfoSetting
.
builder
()
...
...
@@ -80,6 +79,10 @@ public class UIStyleExtendedConfiguration {
/**
* 食品組、食品、細項、折扣字體大小
*/
private
ExpandInfoSetting
billListFontSize
=
ExpandInfoSetting
.
builder
()
.
valueInt
(
18
)
.
remark
(
"餐牌選中食品字體大小"
)
.
build
();
private
ExpandInfoSetting
foodGroupFontSize
=
ExpandInfoSetting
.
builder
()
.
valueInt
(
14
)
.
remark
(
"食品組字體大小"
)
...
...
@@ -174,6 +177,9 @@ public class UIStyleExtendedConfiguration {
return
foodGroupFontSize
.
getValue
();
}
public
<
T
>
T
getBillListFontSizeValue
()
{
return
billListFontSize
.
getValue
();
}
public
<
T
>
T
getFoodFontSizeValue
()
{
return
foodFontSize
.
getValue
();
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsCode.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
constans
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-06-03
* 修订历史:2020-06-03
* 描述:
*/
public
interface
HttpsCode
{
}
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/presenter/SendOrderPresenter.java
View file @
f47767b0
...
...
@@ -2,7 +2,6 @@ package com.gingersoft.gsa.delivery_pick_mode.mvp.presenter;
import
android.app.Activity
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
...
...
@@ -17,16 +16,12 @@ import com.jess.arms.http.imageloader.ImageLoader;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.schedulers.Schedulers
;
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
View file @
f47767b0
...
...
@@ -16,9 +16,11 @@ import androidx.core.content.ContextCompat;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
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.cart.ShoppingCart
;
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.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
...
...
@@ -54,6 +56,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* @author admin
* 外送下單頁
*/
public
class
SendOrderActivity
extends
BaseActivity
<
SendOrderPresenter
>
implements
SendOrderContract
.
View
,
View
.
OnClickListener
{
...
...
@@ -111,9 +114,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
@BindView
(
R2
.
id
.
group_time
)
Group
timeGroup
;
private
TakeawayOrder
mTakeawayOrder
;
private
ShoppingCart
mShoppingCart
;
private
final
int
SELECT_ADDRESS_REQUEST_CODE
=
1001
;
private
final
int
SELECT_ADDRESS_RESULT_CODE
=
1002
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSendOrderComponent
//如找不到该类,请编译一下项目
...
...
@@ -125,6 +132,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
}
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
mTakeawayOrder
=
TakeawayOrder
.
getInstance
();
mShoppingCart
=
mTakeawayOrder
.
getShoppingCart
();
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
other_order_activity_send_order
;
}
...
...
@@ -133,7 +147,7 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
sendTime
=
deliveryTimes
.
get
(
0
);
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
>
productnameBeans
=
mPresenter
.
productnameBeans
;
List
<
OrderDetail
>
orderDetails
=
MyOrderManage
.
getInstance
().
getOrderFood
List
();
List
<
OrderDetail
>
orderDetails
=
mShoppingCart
.
getOrderCommodity
List
();
for
(
int
i
=
0
;
i
<
orderDetails
.
size
();
i
++)
{
OrderDetail
orderDetail
=
orderDetails
.
get
(
i
);
long
foodId
=
orderDetail
.
getProductId
();
...
...
@@ -193,15 +207,15 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
rvSendOrderFoods
.
setAdapter
(
adapter
);
rvSendOrderFoods
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
List
<
Bill
OrderMoney
>
orderMoneyList
=
MyOrderManage
.
getInstance
().
getOrderMoney
List
();
List
<
Bill
Item
>
orderMoneyList
=
mShoppingCart
.
getBillItem
List
();
List
<
BillBean
>
billBeans
=
new
ArrayList
<>();
for
(
Bill
OrderMoney
billOrderMoney
:
orderMoneyList
)
{
for
(
Bill
Item
billOrderMoney
:
orderMoneyList
)
{
BillBean
billBean
=
new
BillBean
();
billBean
.
setName
(
billOrderMoney
.
getName
());
billBean
.
setAmount
(
billOrderMoney
.
getMoney
());
}
billBeans
.
add
(
new
BillBean
(
"合計:"
,
MyOrderManage
.
getInstance
()
.
getWholeAmount
(),
0
));
billBeans
.
add
(
new
BillBean
(
"應付金額:"
,
MyOrderManage
.
getInstance
()
.
getTotalAmount
(),
0
));
billBeans
.
add
(
new
BillBean
(
"合計:"
,
mShoppingCart
.
getWholeAmount
(),
0
));
billBeans
.
add
(
new
BillBean
(
"應付金額:"
,
mShoppingCart
.
getTotalAmount
(),
0
));
PayBillAdapter
payBillAdapter
=
new
PayBillAdapter
(
R
.
layout
.
item_pay_bill
,
billBeans
);
rvSendOrderBills
.
setAdapter
(
payBillAdapter
);
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/ui/activity/DeliveryOrderMainActivity.kt
View file @
f47767b0
...
...
@@ -23,7 +23,7 @@ import androidx.lifecycle.ViewModelProvider
import
androidx.viewpager.widget.ViewPager
import
com.billy.cc.core.component.CC
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.
order.BaseOrder
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import
com.gingersoft.gsa.cloud.base.widget.DialogUtils
...
...
@@ -598,7 +598,7 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen
}
R
.
id
.
tv_new_order
->
{
//新訂單
MyOrderManage
.
getInstance
()
.
orderType
=
TAKEAWAY_TYPE
BaseOrder
.
orderType
=
TAKEAWAY_TYPE
CC
.
obtainBuilder
(
"Component.Table"
)
.
setActionName
(
"showMealStandActivity"
)
.
build
()
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
View file @
f47767b0
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
discount
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
...
@@ -103,7 +105,8 @@ public class OrderDiscount {
Request
request
=
new
Request
();
request
.
setType
(
ORDER_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
request
.
setDiscountId
(
discount
.
getDiscount
().
getId
());
NomalDiscount
discount1
=
(
NomalDiscount
)
discount
.
getDiscount
();
request
.
setDiscountId
(
discount1
.
getDiscount
().
getId
());
}
request
.
setDiscountAmount
(
discount
.
getMoney
());
request
.
setScAble
(
0
);
...
...
@@ -114,8 +117,9 @@ public class OrderDiscount {
Request
request
=
new
Request
();
request
.
setType
(
MEMBER_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
request
.
setMemberId
(
discount
.
getDiscount
().
getId
());
request
.
setMemberDiscountRate
((
int
)
discount
.
getDiscount
().
getDiscount_value
());
MemberDiscount
memberDiscount
=
(
MemberDiscount
)
discount
.
getDiscount
();
request
.
setMemberId
(
memberDiscount
.
getMemberDiscount
().
getId
());
// request.setMemberDiscountRate((int) memberDiscount.getDiscount().getDiscount_value());
}
request
.
setDiscountAmount
(
discount
.
getMoney
());
request
.
setScAble
(
0
);
...
...
@@ -126,9 +130,9 @@ public class OrderDiscount {
Request
request
=
new
Request
();
request
.
setType
(
COUPON_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
request
.
setMemberId
(
discount
.
getDiscount
().
getMemberId
());
request
.
setDiscountId
(
discount
.
getDiscount
().
getId
());
request
.
setMemberDiscountRate
((
int
)
discount
.
getDiscount
().
getDiscount_value
());
//
request.setMemberId(discount.getDiscount().getMemberId());
//
request.setDiscountId(discount.getDiscount().getId());
//
request.setMemberDiscountRate((int) discount.getDiscount().getDiscount_value());
}
request
.
setDiscountAmount
(
discount
.
getMoney
());
request
.
setScAble
(
0
);
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/mealManger/OpenTableManage.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
mealManger
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-09
* 修订历史:2020-01-09
* 描述:保存開台返回的訂單數據
*/
@Data
public
class
OpenTableManage
{
private
String
TAG
=
getClass
().
getSimpleName
();
private
static
OpenTableManage
sDefaultOpenTableManage
;
//開台信息
private
TableBean
.
DataBean
tableBean
;
//使用狀態
private
int
useStatus
;
//開台人數
private
int
peopleNumber
=
0
;
//是否分檯
private
boolean
isSplite
=
false
;
//分檯編號
private
String
splitNo
;
public
static
OpenTableManage
getDefault
()
{
if
(
sDefaultOpenTableManage
==
null
)
{
sDefaultOpenTableManage
=
new
OpenTableManage
();
}
return
sDefaultOpenTableManage
;
}
public
void
clear
()
{
tableBean
=
null
;
peopleNumber
=
0
;
isSplite
=
false
;
splitNo
=
""
;
}
public
String
getTAG
()
{
return
TAG
;
}
public
void
setTAG
(
String
TAG
)
{
this
.
TAG
=
TAG
;
}
public
static
OpenTableManage
getsDefaultOpenTableManage
()
{
return
sDefaultOpenTableManage
;
}
public
static
void
setsDefaultOpenTableManage
(
OpenTableManage
sDefaultOpenTableManage
)
{
OpenTableManage
.
sDefaultOpenTableManage
=
sDefaultOpenTableManage
;
}
public
TableBean
.
DataBean
getTableBean
()
{
return
tableBean
;
}
public
void
setTableBean
(
TableBean
.
DataBean
tableBean
)
{
this
.
tableBean
=
tableBean
;
}
public
int
getUseStatus
()
{
return
useStatus
;
}
public
void
setUseStatus
(
int
useStatus
)
{
this
.
useStatus
=
useStatus
;
}
public
int
getPeopleNumber
()
{
return
peopleNumber
;
}
public
void
setPeopleNumber
(
int
peopleNumber
)
{
this
.
peopleNumber
=
peopleNumber
;
}
public
boolean
isSplite
()
{
return
isSplite
;
}
public
void
setSplite
(
boolean
splite
)
{
isSplite
=
splite
;
}
public
String
getSplitNo
()
{
return
splitNo
;
}
public
void
setSplitNo
(
String
splitNo
)
{
this
.
splitNo
=
splitNo
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillItem.java
View file @
f47767b0
...
...
@@ -53,4 +53,10 @@ public abstract class BillItem {
this
.
name
=
name
;
this
.
money
=
money
;
}
public
BillItem
(
String
name
,
double
money
,
int
status
)
{
this
.
name
=
name
;
this
.
money
=
money
;
this
.
status
=
status
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/DiscountItem.java
View file @
f47767b0
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
billItem
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Getter
;
...
...
@@ -15,7 +16,7 @@ import lombok.Setter;
@Setter
public
class
DiscountItem
extends
BillItem
{
private
Discount
discount
;
private
Multy
Discount
discount
;
public
DiscountItem
()
{
}
...
...
@@ -24,7 +25,9 @@ public class DiscountItem extends BillItem {
super
(
name
,
money
);
}
public
DiscountItem
(
String
name
,
double
money
,
int
status
)
{
super
(
name
,
money
,
status
);
}
public
void
updateBillItem
(
int
type
)
{
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
f47767b0
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.base.order.cart;
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.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.commodity.Commodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.MealCommodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.MealTakeaway
;
...
...
@@ -56,7 +57,7 @@ public class ShoppingCart {
* @see MemberDiscount
* @see CouponDiscount
*/
protected
List
<
MultyDiscount
>
multyDiscountList
=
new
ArrayList
<>()
;
protected
List
<
MultyDiscount
>
multyDiscountList
;
/**
* 服務費
*/
...
...
@@ -81,7 +82,7 @@ public class ShoppingCart {
* @param commodityList
*/
public
void
addCommodityList
(
List
<
OrderDetail
>
commodityList
)
{
getOrderCommodityList
()
.
addAll
(
commodityList
);
orderCommodityList
.
addAll
(
commodityList
);
}
/**
...
...
@@ -90,7 +91,7 @@ public class ShoppingCart {
* @param commodity
*/
public
void
addCommodity
(
OrderDetail
commodity
)
{
getOrderCommodityList
()
.
add
(
commodity
);
orderCommodityList
.
add
(
commodity
);
}
/**
...
...
@@ -99,7 +100,7 @@ public class ShoppingCart {
* @param commodity
*/
public
void
delCommodity
(
OrderDetail
commodity
)
{
getOrderCommodityList
()
.
remove
(
commodity
);
orderCommodityList
.
remove
(
commodity
);
}
/**
...
...
@@ -122,7 +123,7 @@ public class ShoppingCart {
* @param billItem
*/
public
void
addBillItem
(
BillItem
billItem
)
{
getBillItemList
()
.
add
(
billItem
);
billItemList
.
add
(
billItem
);
}
/**
...
...
@@ -131,7 +132,7 @@ public class ShoppingCart {
* @param billItems
*/
public
void
addBillItems
(
List
<
BillItem
>
billItems
)
{
getBillItemList
()
.
addAll
(
billItems
);
billItemList
.
addAll
(
billItems
);
}
/**
...
...
@@ -140,7 +141,7 @@ public class ShoppingCart {
* @param billItem
*/
public
void
delBillItem
(
BillItem
billItem
)
{
getBillItemList
()
.
remove
(
billItem
);
billItemList
.
remove
(
billItem
);
}
/**
...
...
@@ -149,7 +150,7 @@ public class ShoppingCart {
* @param multyDiscount
*/
public
void
addMultyDiscount
(
MultyDiscount
multyDiscount
)
{
getMultyDiscountList
()
.
add
(
multyDiscount
);
multyDiscountList
.
add
(
multyDiscount
);
}
/**
...
...
@@ -158,7 +159,7 @@ public class ShoppingCart {
* @param multyDiscount
*/
public
void
delMultyDiscount
(
MultyDiscount
multyDiscount
)
{
getMultyDiscountList
()
.
remove
(
multyDiscount
);
multyDiscountList
.
remove
(
multyDiscount
);
}
/**
...
...
@@ -214,9 +215,12 @@ public class ShoppingCart {
* 計算折扣鏈金額
*/
public
double
calculateLinkedDiscounts
(
double
money
)
{
//折扣集合保存每個已經計算過的折扣
List
<
MultyDiscount
>
multyDiscountArrays
=
new
ArrayList
<>();
//折扣鏈對象
MultyDiscount
multyDiscounts
=
null
;
for
(
int
i
=
multyDiscountList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
MultyDiscount
discount
=
multyDiscountList
.
get
(
i
);
for
(
int
i
=
getMultyDiscountList
()
.
size
()
-
1
;
i
>=
0
;
i
--)
{
MultyDiscount
discount
=
getMultyDiscountList
()
.
get
(
i
);
if
(
discount
instanceof
NomalDiscount
)
{
multyDiscounts
=
addNomalDiscount
(
multyDiscounts
,
((
NomalDiscount
)
discount
).
getDiscount
());
}
else
if
(
discount
instanceof
MemberDiscount
)
{
...
...
@@ -224,30 +228,19 @@ public class ShoppingCart {
}
else
if
(
discount
instanceof
CouponDiscount
)
{
multyDiscounts
=
addCouponDiscount
(
multyDiscounts
,
((
CouponDiscount
)
discount
).
getCouponDiscount
());
}
multyDiscountArrays
.
add
(
multyDiscounts
);
}
if
(
multyDiscounts
!=
null
)
{
//計算折扣金額
money
=
multyDiscounts
.
calculate
(
money
);
}
return
money
;
}
private
void
updateBillItemList
()
{
//更新折扣billItem數據
for
(
MultyDiscount
discount
:
multyDiscountArrays
)
{
DiscountItem
discountItem
=
new
DiscountItem
(
discount
.
getName
(),
discount
.
getDiscountMoney
(),
discount
.
getStatus
());
discountItem
.
setDiscount
(
discount
);
billItemList
.
add
(
discountItem
);
}
public
List
<
OrderDetail
>
getOrderCommodityList
()
{
if
(
orderCommodityList
==
null
)
{
orderCommodityList
=
new
ArrayList
<>();
}
return
orderCommodityList
;
}
public
List
<
BillItem
>
getBillItemList
()
{
if
(
billItemList
==
null
)
{
billItemList
=
new
ArrayList
<>();
}
return
billItemList
;
return
money
;
}
public
List
<
MultyDiscount
>
getMultyDiscountList
()
{
...
...
@@ -294,19 +287,24 @@ public class ShoppingCart {
}
/**
* 計算賬單前先重置
*/
public
void
resetBeforeBillCalculation
()
{
initialization
(
true
);
}
public
void
initialization
()
{
public
void
initialization
(
boolean
reset
)
{
if
(!
reset
)
{
if
(
orderCommodityList
!=
null
)
{
orderCommodityList
.
clear
();
// orderCommodityList = null;
}
if
(
billItemList
!=
null
)
{
billItemList
.
clear
();
// billItemList = null;
}
if
(
multyDiscountList
!=
null
)
{
multyDiscountList
.
clear
();
// multyDiscountList = null;
}
}
if
(
billItemList
!=
null
)
{
billItemList
.
clear
();
}
serviceCharge
=
null
;
rounding
=
null
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
View file @
f47767b0
...
...
@@ -3,8 +3,11 @@ package com.gingersoft.gsa.cloud.base.order.commodity;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
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.TakeawayOrder
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
java.util.ArrayList
;
...
...
@@ -254,7 +257,6 @@ public class MealCommodity implements Commodity {
private
long
ktShowPrice
;
/**
* 此食品是否包含折扣
*
...
...
@@ -424,7 +426,11 @@ public class MealCommodity implements Commodity {
mealCommodity
.
setNumber
(
1
);
mealCommodity
.
setPrice
(
discountPrice
);
mealCommodity
.
setUnit_price
(
discountPrice
);
mealCommodity
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
mealCommodity
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
else
{
mealCommodity
.
setOrderId
(
TakeawayOrder
.
getInstance
().
getOrderId
());
}
mealCommodity
.
setIsfood
(
false
);
mealCommodity
.
setNew
(
isNew
);
mealCommodity
.
setType
(
DISCOUNT_TYPE
);
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
View file @
f47767b0
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.base.order.commodity;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.
bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
...
@@ -1131,7 +1131,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail
.
setUnit_price
(
food
.
getPrice
());
orderDetail
.
setPrice
(
number
*
orderDetail
.
getUnit_price
());
orderDetail
.
setNumber
(
number
);
orderDetail
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setPrintseting
(
food
.
getPrintSeting
());
orderDetail
.
setIsfood
(
true
);
orderDetail
.
setNew
(
true
);
...
...
@@ -1174,7 +1174,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail
.
setUnit_price
(
foodCombo
.
getPrice
());
orderDetail
.
setPrice
(
number
*
orderDetail
.
getUnit_price
());
orderDetail
.
setNumber
(
number
);
orderDetail
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setComid
(
foodCombo
.
getComId
());
orderDetail
.
setIsfood
(
true
);
orderDetail
.
setNew
(
true
);
...
...
@@ -1216,7 +1216,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail
.
setUnit_price
(
modifier
.
getPrice
());
orderDetail
.
setPrice
(
number
*
orderDetail
.
getUnit_price
());
orderDetail
.
setNumber
(
number
);
orderDetail
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setMid
(
modifier
.
getMid
());
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setNew
(
true
);
...
...
@@ -1249,7 +1249,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail
.
setNumber
(
1
);
orderDetail
.
setPrice
(
discountPrice
);
orderDetail
.
setUnit_price
(
discountPrice
);
orderDetail
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setNew
(
isNew
);
orderDetail
.
setType
(
DISCOUNT_TYPE
);
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/CouponDiscount.java
View file @
f47767b0
...
...
@@ -16,10 +16,6 @@ import lombok.Getter;
public
class
CouponDiscount
extends
MultyDiscount
{
private
CouponDiscountBean
couponDiscount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
CouponDiscount
(
String
name
,
MultyDiscount
nextMultyDiscount
,
CouponDiscountBean
couponDiscount
)
{
super
(
name
,
nextMultyDiscount
);
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MemberDiscount.java
View file @
f47767b0
...
...
@@ -16,10 +16,6 @@ import lombok.Getter;
public
class
MemberDiscount
extends
MultyDiscount
{
private
MemberInfo
memberDiscount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
MemberDiscount
(
String
name
,
MultyDiscount
nextMultyDiscount
,
MemberInfo
memberDiscount
)
{
super
(
name
,
nextMultyDiscount
);
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MultyDiscount.java
View file @
f47767b0
...
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.order.discount;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
lombok.Getter
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -10,10 +12,15 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
* 修订历史:2020-09-19
* 描述: 折扣抽象類{@link MultyDiscount}
*/
@Getter
public
abstract
class
MultyDiscount
extends
BillItem
{
/**責任鏈中的下一個對象*/
protected
MultyDiscount
nextMultyDiscount
;
/**
* 本次折扣金额
*/
protected
double
discountMoney
=
0.0
;
public
MultyDiscount
(
String
name
,
MultyDiscount
nextMultyDiscount
)
{
super
(
name
);
...
...
@@ -26,5 +33,4 @@ public abstract class MultyDiscount extends BillItem {
}
return
money
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/NomalDiscount.java
View file @
f47767b0
...
...
@@ -16,10 +16,6 @@ import lombok.Getter;
public
class
NomalDiscount
extends
MultyDiscount
{
private
Discount
discount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
NomalDiscount
(
String
name
,
MultyDiscount
nextMultyDiscount
,
Discount
discount
)
{
super
(
name
,
nextMultyDiscount
);
...
...
@@ -32,7 +28,6 @@ public class NomalDiscount extends MultyDiscount{
discountMoney
=
calculationDiscount
(
discount
,
money
);
money
=
MoneyUtil
.
sum
(
money
,
discountMoney
);
}
return
super
.
calculate
(
money
);
}
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/BaseOrder.java
View file @
f47767b0
...
...
@@ -11,7 +11,7 @@ import lombok.Setter;
* @作者: bin
* @創建時間: 2020-10-14
* @更新時間: 2020-10-14
* @描述:
* @描述:
訂單基類
*/
@Getter
@Setter
...
...
@@ -32,7 +32,7 @@ public abstract class BaseOrder {
/**
* 訂單ID
*/
protected
long
i
d
=
-
1
;
protected
long
orderI
d
=
-
1
;
/**
* 訂單編號
*/
...
...
@@ -43,10 +43,23 @@ public abstract class BaseOrder {
protected
ShoppingCart
shoppingCart
;
/**
* 判斷是否當前訂單類型
* @param type
* @return
*/
public
static
boolean
isCurrentOrderType
(
int
type
)
{
if
(
type
==
orderType
)
{
return
true
;
}
return
false
;
}
protected
void
initialization
()
{
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
i
d
=
-
1
;
orderI
d
=
-
1
;
orderNo
=
null
;
shoppingCart
.
initialization
();
shoppingCart
.
initialization
(
false
);
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/DoshokuOrder.java
View file @
f47767b0
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
order
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.base.order.Member
;
import
com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
lombok.Getter
;
...
...
@@ -37,10 +40,6 @@ public class DoshokuOrder extends BaseOrder implements Member {
}
/**
* 記錄刪除的食品以及原因
*/
private
List
<
DeleteOrderRequest
>
deleteMealOrders
;
/**
* 已下單信息
*/
private
OrderBean
orderPlaced
;
...
...
@@ -53,8 +52,18 @@ public class DoshokuOrder extends BaseOrder implements Member {
* 會員信息
*/
private
MemberInfo
memberInfo
;
/**
* 記錄刪除的食品以及原因
*/
private
List
<
DeleteOrderRequest
>
deleteMealOrders
;
/**
* 本次送單食品,用於打印
*/
private
List
<
OrderDetail
>
newFoodList
=
new
ArrayList
<>();
/**
* 本次支付方式,用於打印
*/
private
List
<
PayMethod
>
billMoney
=
new
ArrayList
<>();
/**
* 是否需要更新會員信息(如開台有然後清除: "true:false" 這種情況需要重新送單更新會員信息)
*/
...
...
@@ -67,6 +76,24 @@ public class DoshokuOrder extends BaseOrder implements Member {
private
boolean
modifyOrder
=
false
;
/**
* 本次加多少積分
*/
private
float
addPoints
;
/**
* 之前有多少積分
*/
private
float
oldPoints
;
/**
* 現在有多少積分
*/
private
float
nowPoints
;
/**
* 結賬積分QRCode
*/
private
String
integralQrcode
;
/**
* 添加需要刪除的食品
* @param request
*/
...
...
@@ -82,6 +109,17 @@ public class DoshokuOrder extends BaseOrder implements Member {
getDeleteMealOrders
().
remove
(
request
);
}
public
void
setDeleteMealOrders
(
List
<
DeleteOrderRequest
>
deleteMealOrders
)
{
this
.
deleteMealOrders
=
deleteMealOrders
;
}
public
Date
getOpenTableTime
()
{
if
(
orderPlaced
!=
null
&&
orderPlaced
.
getCreateTime
()
!=
null
)
{
return
new
Date
(
orderPlaced
.
getCreateTime
());
}
return
new
Date
();
}
public
List
<
DeleteOrderRequest
>
getDeleteMealOrders
()
{
if
(
deleteMealOrders
==
null
)
{
deleteMealOrders
=
new
ArrayList
<>();
...
...
@@ -89,11 +127,29 @@ public class DoshokuOrder extends BaseOrder implements Member {
return
deleteMealOrders
;
}
public
boolean
needUpdateMemberInfo
()
{
String
[]
status
=
memberUpdateStatus
.
split
(
"-"
);
if
(
status
.
length
==
2
)
{
if
(
Boolean
.
parseBoolean
(
status
[
0
])
!=
Boolean
.
parseBoolean
(
status
[
1
]))
{
return
true
;
}
else
{
return
false
;
}
}
else
{
return
false
;
}
}
@Override
public
void
initialization
()
{
if
(
deleteMealOrders
!=
null
)
{
deleteMealOrders
.
clear
();
deleteMealOrders
=
null
;
}
if
(
newFoodList
!=
null
)
{
newFoodList
.
clear
();
}
if
(
billMoney
!=
null
)
{
billMoney
.
clear
();
}
if
(
orderPlaced
!=
null
)
{
orderPlaced
=
null
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
View file @
f47767b0
...
...
@@ -4,14 +4,14 @@ import android.content.Context;
import
android.graphics.Bitmap
;
import
android.text.TextUtils
;
import
android.widget.LinearLayout
;
import
com.gingersoft.gsa.cloud.base.common.bean.BillingBean
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
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.cart.ShoppingCart
;
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.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
...
...
@@ -19,7 +19,6 @@ import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -41,17 +40,21 @@ public class PrintBill extends PrinterRoot {
@Override
public
String
getPrintData
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFoodList
();
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
ShoppingCart
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
List
<
OrderDetail
>
foodList
=
shoppingCart
.
getOrderCommodityList
();
TableBean
.
DataBean
tableBean
=
doshokuOrder
.
getOpenTableInfo
();
StringBuilder
payInfo
=
new
StringBuilder
();
for
(
PayMethod
payMethod
:
MyOrderManage
.
getInstance
()
.
getBillMoney
())
{
for
(
PayMethod
payMethod
:
doshokuOrder
.
getBillMoney
())
{
payInfo
.
append
(
payMethod
.
getPayName
()
+
" "
).
append
(
payMethod
.
getPayMoney
());
}
StringBuilder
memberIntegerInfo
=
new
StringBuilder
();
OrderDetails
.
DataBean
data
=
getOrderMemberInfo
();
MyOrderManage
.
getInstance
().
getIntegralQrcode
();
if
(
data
.
getAddPoints
()
!=
0
||
data
.
getOldPoints
()
!=
0
||
data
.
getAddPoints
()
!=
0
)
{
memberIntegerInfo
.
append
(
getPLable
(
"本次積分:"
+
data
.
getAddPoints
(),
HTML_PRINT_GRAVITY_LEFT
))
.
append
(
getPLable
(
"結餘積分:"
+
data
.
getNowPoints
(),
HTML_PRINT_GRAVITY_LEFT
))
...
...
@@ -75,11 +78,11 @@ public class PrintBill extends PrinterRoot {
getWholeLine
()
+
getPLable
(
memberIntegerInfo
.
toString
(),
HTML_PRINT_GRAVITY_LEFT
);
String
integralQrCode
=
MyOrderManage
.
getInstance
()
.
getIntegralQrcode
();
String
integralQrCode
=
doshokuOrder
.
getIntegralQrcode
();
if
(!
TextUtils
.
isEmpty
(
integralQrCode
)
&&
(
boolean
)
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
ToPrintQRCode
,
false
))
{
stringBuilder
+=
getPLable
(
"請掃描二維碼"
,
HTML_PRINT_GRAVITY_CENTER
)
+
getHtmlQrCode
(
MyOrderManage
.
getInstance
()
.
getIntegralQrcode
())
+
getHtmlQrCode
(
doshokuOrder
.
getIntegralQrcode
())
+
getPLable
(
"《追加積分到個人賬戶》"
,
HTML_PRINT_GRAVITY_CENTER
);
}
stringBuilder
+=
"</body></html>"
;
...
...
@@ -92,8 +95,13 @@ public class PrintBill extends PrinterRoot {
}
private
Bitmap
getBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFoodList
();
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
ShoppingCart
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
List
<
OrderDetail
>
foodList
=
shoppingCart
.
getOrderCommodityList
();
TableBean
.
DataBean
tableBean
=
doshokuOrder
.
getOpenTableInfo
();
LinearLayout
layout
=
new
LinearLayout
(
mContext
);
layout
.
setOrientation
(
LinearLayout
.
VERTICAL
);
...
...
@@ -104,10 +112,10 @@ public class PrintBill extends PrinterRoot {
//訂單信息
String
tableName
=
"餐檯:"
+
tableBean
.
getTableName
();
String
peopleNum
=
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
();
String
peopleNum
=
"人數:"
+
doshokuOrder
.
getOpenTableInfo
().
getPerson
();
String
orderNum
=
"單號:"
;
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
MyOrderManage
.
getInstance
()
.
getOrderNo
()))
{
orderNum
=
"單號:"
+
MyOrderManage
.
getInstance
()
.
getOrderNo
();
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
doshokuOrder
.
getOrderNo
()))
{
orderNum
=
"單號:"
+
doshokuOrder
.
getOrderNo
();
}
String
createTime
=
"日期:"
+
TimeUtils
.
parseTimeRepeat
(
tableBean
.
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
);
layout
.
addView
(
getDiningTableOrderInfo
(
mContext
,
tableName
,
peopleNum
,
orderNum
,
createTime
));
...
...
@@ -120,10 +128,10 @@ public class PrintBill extends PrinterRoot {
//訂單金額信息
List
<
BillingBean
>
billingBeans
=
new
ArrayList
<>();
//添加合計項
billingBeans
.
add
(
new
BillingBean
(
"合計"
,
MyOrderManage
.
getInstance
()
.
getWholeAmount
()));
billingBeans
.
add
(
new
BillingBean
(
"合計"
,
shoppingCart
.
getWholeAmount
()));
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoney
List
().
size
()
>
0
)
{
for
(
Bill
OrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoney
List
())
{
if
(
shoppingCart
.
getBillItem
List
().
size
()
>
0
)
{
for
(
Bill
Item
item
:
shoppingCart
.
getBillItem
List
())
{
billingBeans
.
add
(
new
BillingBean
(
item
.
getName
(),
item
.
getMoney
()));
}
}
...
...
@@ -136,12 +144,12 @@ public class PrintBill extends PrinterRoot {
// for (OrderDetail OrderDetail : MyOrderManage.getInstance().getOrderFoodList()) {
// totalAmount = MoneyUtil.sum(totalAmount, OrderDetail.getPrice());
// }
layout
.
addView
(
getAmountText
(
mContext
,
"總金額:"
+
MyOrderManage
.
getInstance
()
.
getTotalAmount
()));
layout
.
addView
(
getAmountText
(
mContext
,
"總金額:"
+
shoppingCart
.
getTotalAmount
()));
layout
.
addView
(
getLine
(
mContext
));
layout
.
addView
(
getDiningBillPayMethod
(
mContext
,
MyOrderManage
.
getInstance
()
.
getBillMoney
()));
layout
.
addView
(
getDiningBillPayMethod
(
mContext
,
doshokuOrder
.
getBillMoney
()));
layout
.
addView
(
getLine
(
mContext
));
layout
.
addView
(
getTableMealMemberIntegerView
(
mContext
,
getOrderMemberInfo
(),
MyOrderManage
.
getInstance
()
.
getIntegralQrcode
()));
layout
.
addView
(
getTableMealMemberIntegerView
(
mContext
,
getOrderMemberInfo
(),
doshokuOrder
.
getIntegralQrcode
()));
return
zoomBitmap
(
deviceBean
,
viewToBitmap
(
mContext
,
layout
));
}
...
...
@@ -149,13 +157,13 @@ public class PrintBill extends PrinterRoot {
private
OrderDetails
.
DataBean
getOrderMemberInfo
()
{
OrderDetails
.
DataBean
dataBean
=
new
OrderDetails
.
DataBean
();
MemberInfo
memberInfo
=
MyOrderManage
.
getInstance
().
getMemberInfo
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
dataBean
.
setMEMBER_NAME
(
memberInfo
.
getMemberName
());
dataBean
.
setPHONE
(
memberInfo
.
getPhone
());
dataBean
.
setNowPoints
(
MyOrderManage
.
getInstance
().
getNowPoints
());
dataBean
.
setAddPoints
(
MyOrderManage
.
getInstance
().
getAddPoints
());
dataBean
.
setOldPoints
(
MyOrderManage
.
getInstance
().
getOldPoints
());
dataBean
.
setNowPoints
(
DoshokuOrder
.
getInstance
().
getNowPoints
());
dataBean
.
setAddPoints
(
DoshokuOrder
.
getInstance
().
getAddPoints
());
dataBean
.
setOldPoints
(
DoshokuOrder
.
getInstance
().
getOldPoints
());
}
return
dataBean
;
}
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
View file @
f47767b0
...
...
@@ -9,8 +9,8 @@ import android.widget.TextView;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.adapter.print.KitChenPrintFoodAdapter
;
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.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.
table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
...
...
@@ -33,7 +33,7 @@ public class PrintKitchen extends PrinterRoot {
@Override
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
List
<
OrderDetail
>
orderDetails
=
MyOrderManage
.
getInstance
().
getNewFoodList
();
List
<
OrderDetail
>
orderDetails
=
DoshokuOrder
.
getInstance
().
getNewFoodList
();
if
(
orderDetails
!=
null
)
{
// for (int i = 0; i < orderDetails.size(); i++) {
// orderDetails.get(i).setPrintseting(printLocation[i % 2]);
...
...
@@ -156,6 +156,9 @@ public class PrintKitchen extends PrinterRoot {
if
(
foodList
==
null
||
foodList
.
size
()
<=
0
)
{
return
null
;
}
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
View
view
=
LinearLayout
.
inflate
(
context
,
R
.
layout
.
print_kitchen
,
null
);
TextView
tvTableNumber
=
view
.
findViewById
(
R
.
id
.
tv_kitchen_print_table_number
);
TextView
tvOrderNumber
=
view
.
findViewById
(
R
.
id
.
tv_order_num
);
...
...
@@ -178,16 +181,17 @@ public class PrintKitchen extends PrinterRoot {
tvKitChenLocation
.
setVisibility
(
View
.
GONE
);
}
}
if
(
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
)
{
TableBean
.
DataBean
dataBean
=
doshokuOrder
.
getOpenTableInfo
();
if
(
dataBean
!=
null
)
{
//台號
tvTableNumber
.
setText
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableName
()
+
""
);
tvTableNumber2
.
setText
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableName
()
+
""
);
tvTableNumber
.
setText
(
dataBean
.
getTableName
()
+
""
);
tvTableNumber2
.
setText
(
dataBean
.
getTableName
()
+
""
);
//人數
tvPeople
.
setText
(
OpenTableManage
.
getDefault
().
getPeopleNumber
()
+
""
);
tvPeople
.
setText
(
dataBean
.
getPerson
()
+
""
);
//訂單號
tvOrderNumber
.
setText
(
""
+
MyOrderManage
.
getInstance
()
.
getOrderId
());
tvOrderNumber
.
setText
(
""
+
dataBean
.
getOrderId
());
//開台時間
tvOpeningTime
.
setText
(
TimeUtils
.
parseTimeRepeat
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
tvOpeningTime
.
setText
(
TimeUtils
.
parseTimeRepeat
(
dataBean
.
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
//落單時間,為當前時間
tvOrderTime
.
setText
(
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
));
...
...
@@ -197,8 +201,4 @@ public class PrintKitchen extends PrinterRoot {
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
View file @
f47767b0
...
...
@@ -6,10 +6,8 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
...
...
@@ -23,7 +21,6 @@ import com.joe.print.R;
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.HashMap
;
import
java.util.List
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintServe.java
View file @
f47767b0
...
...
@@ -4,16 +4,13 @@ import android.content.Context;
import
android.graphics.Bitmap
;
import
android.view.Gravity
;
import
android.widget.LinearLayout
;
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.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.joe.print.R
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -35,8 +32,8 @@ public class PrintServe extends PrinterRoot {
@Override
public
String
getPrintData
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFood
List
();
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
List
<
OrderDetail
>
foodList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodity
List
();
TableBean
.
DataBean
tableBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
String
stringBuilder
=
"<html><body>"
+
getHtmlPrintHeadInfo
()
+
getHtmlPrintHeadOrderInfo
(
tableBean
)
+
...
...
@@ -53,11 +50,11 @@ public class PrintServe extends PrinterRoot {
private
Bitmap
getBitmap
(
Context
mContext
,
PrinterDeviceBean
printerDeviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFood
List
();
List
<
OrderDetail
>
foodList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodity
List
();
if
(
foodList
==
null
||
foodList
.
size
()
<=
0
)
{
return
null
;
}
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
TableBean
.
DataBean
tableBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
LinearLayout
layout
=
new
LinearLayout
(
mContext
);
layout
.
setOrientation
(
LinearLayout
.
VERTICAL
);
...
...
@@ -66,11 +63,11 @@ public class PrintServe extends PrinterRoot {
layout
.
addView
(
getHeader
(
mContext
));
layout
.
addView
(
getLine
(
mContext
));
String
orderNo
=
"單號:"
;
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
MyOrderManage
.
getInstance
().
getOrderNo
()))
{
orderNo
=
"單號:"
+
MyOrderManage
.
getInstance
().
getOrderNo
();
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
DoshokuOrder
.
getInstance
().
getOrderNo
()))
{
orderNo
=
"單號:"
+
DoshokuOrder
.
getInstance
().
getOrderNo
();
}
//訂單信息
layout
.
addView
(
getDiningTableOrderInfo
(
mContext
,
"餐檯:"
+
tableBean
.
getTableName
(),
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
(),
orderNo
,
"日期:"
+
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
)));
layout
.
addView
(
getDiningTableOrderInfo
(
mContext
,
"餐檯:"
+
tableBean
.
getTableName
(),
"人數:"
+
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
getPerson
(),
orderNo
,
"日期:"
+
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
)));
layout
.
addView
(
getLine
(
mContext
));
layout
.
addView
(
getDiningFoodList
(
mContext
,
foodList
,
printerDeviceBean
,
0
,
false
));
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
View file @
f47767b0
...
...
@@ -6,10 +6,11 @@ import android.view.Gravity;
import
android.widget.LinearLayout
;
import
com.gingersoft.gsa.cloud.base.common.bean.BillingBean
;
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.cart.ShoppingCart
;
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.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
...
...
@@ -46,8 +47,8 @@ public class PrintSlip extends PrinterRoot {
@Override
public
String
getPrintData
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFood
List
();
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
List
<
OrderDetail
>
foodList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodity
List
();
TableBean
.
DataBean
tableBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
String
stringBuilder
=
"<html><body>"
+
getHtmlPrintHeadInfo
()
+
...
...
@@ -69,11 +70,16 @@ public class PrintSlip extends PrinterRoot {
}
private
Bitmap
getBitmap
(
Context
mContext
,
PrinterDeviceBean
printerDeviceBean
)
{
List
<
OrderDetail
>
foodList
=
MyOrderManage
.
getInstance
().
getOrderFoodList
();
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
ShoppingCart
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
List
<
OrderDetail
>
foodList
=
shoppingCart
.
getOrderCommodityList
();
if
(
foodList
==
null
||
foodList
.
size
()
<=
0
)
{
return
null
;
}
TableBean
.
DataBean
tableBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
TableBean
.
DataBean
tableBean
=
doshokuOrder
.
getOpenTableInfo
();
LinearLayout
layout
=
new
LinearLayout
(
mContext
);
layout
.
setOrientation
(
LinearLayout
.
VERTICAL
);
...
...
@@ -83,23 +89,23 @@ public class PrintSlip extends PrinterRoot {
layout
.
addView
(
getLine
(
mContext
));
//訂單信息
layout
.
addView
(
getDiningTableOrderInfo
(
mContext
,
"餐檯:"
+
tableBean
.
getTableName
(),
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
(),
"單號:"
+
MyOrderManage
.
getInstance
()
.
getOrderNo
(),
"日期:"
+
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
)));
layout
.
addView
(
getDiningTableOrderInfo
(
mContext
,
"餐檯:"
+
tableBean
.
getTableName
(),
"人數:"
+
doshokuOrder
.
getOpenTableInfo
().
getPerson
(),
"單號:"
+
doshokuOrder
.
getOrderNo
(),
"日期:"
+
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
)));
layout
.
addView
(
getLine
(
mContext
));
layout
.
addView
(
getDiningFoodList
(
mContext
,
foodList
,
printerDeviceBean
,
0
,
true
));
layout
.
addView
(
getHalfLine
(
mContext
));
List
<
BillingBean
>
billingBeans
=
new
ArrayList
<>();
//添加合計項
billingBeans
.
add
(
new
BillingBean
(
"合計"
,
MyOrderManage
.
getInstance
()
.
getWholeAmount
()));
billingBeans
.
add
(
new
BillingBean
(
"合計"
,
shoppingCart
.
getWholeAmount
()));
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoney
List
().
size
()
>
0
)
{
for
(
Bill
OrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoney
List
())
{
if
(
shoppingCart
.
getBillItem
List
().
size
()
>
0
)
{
for
(
Bill
Item
item
:
shoppingCart
.
getBillItem
List
())
{
billingBeans
.
add
(
new
BillingBean
(
item
.
getName
(),
item
.
getMoney
()));
}
}
layout
.
addView
(
getDiningBillInfo
(
mContext
,
billingBeans
));
layout
.
addView
(
getHalfLine
(
mContext
));
layout
.
addView
(
getAmountText
(
mContext
,
"總金額:"
+
MyOrderManage
.
getInstance
()
.
getTotalAmount
()));
layout
.
addView
(
getAmountText
(
mContext
,
"總金額:"
+
shoppingCart
.
getTotalAmount
()));
layout
.
addView
(
getLine
(
mContext
));
layout
.
addView
(
getTextView
(
mContext
,
"Thank you!"
,
Gravity
.
CENTER_HORIZONTAL
,
getDimensionPixelSize
(
mContext
,
R
.
dimen
.
dp_8
)));
layout
.
addView
(
getTextView
(
mContext
,
TimeUtils
.
getCurrentTimeInString
(
TimeUtils
.
DEFAULT_DATE_FORMAT
),
Gravity
.
CENTER_HORIZONTAL
,
getDimensionPixelSize
(
mContext
,
R
.
dimen
.
dp_8
)));
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
f47767b0
...
...
@@ -30,10 +30,10 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.base.common.bean.BillingBean
;
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.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.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager
;
import
com.gingersoft.gsa.cloud.base.utils.AidlUtil
;
...
...
@@ -851,12 +851,12 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
protected
String
getHtmlPrintHeadOrderInfo
(
TableBean
.
DataBean
tableBean
)
{
String
orderNum
=
"單號:"
;
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
MyOrderManage
.
getInstance
().
getOrderNo
()))
{
orderNum
=
"單號:"
+
MyOrderManage
.
getInstance
().
getOrderNo
();
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
DoshokuOrder
.
getInstance
().
getOrderNo
()))
{
orderNum
=
"單號:"
+
DoshokuOrder
.
getInstance
().
getOrderNo
();
}
return
getWholeLine
()
+
getPLable
(
"餐檯:"
+
tableBean
.
getTableName
(),
HTML_PRINT_GRAVITY_LEFT
)
+
getPLable
(
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
(),
HTML_PRINT_GRAVITY_LEFT
)
+
getPLable
(
"人數:"
+
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
getPerson
(),
HTML_PRINT_GRAVITY_LEFT
)
+
getPLable
(
orderNum
,
HTML_PRINT_GRAVITY_LEFT
)
+
getPLable
(
"日期:"
+
TimeUtils
.
parseTimeRepeat
(
tableBean
.
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
),
HTML_PRINT_GRAVITY_LEFT
)
+
getWholeLine
();
...
...
@@ -864,22 +864,22 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
protected
String
getHtmlBillInfo
()
{
//添加合計項
StringBuilder
amountStr
=
new
StringBuilder
(
getPLable
(
"合計 "
+
MyOrderManage
.
getInstance
().
getWholeAmount
(),
HTML_PRINT_GRAVITY_RIGHT
));
StringBuilder
amountStr
=
new
StringBuilder
(
getPLable
(
"合計 "
+
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getWholeAmount
(),
HTML_PRINT_GRAVITY_RIGHT
));
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoney
List
().
size
()
>
0
)
{
for
(
Bill
OrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoney
List
())
{
if
(
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getBillItem
List
().
size
()
>
0
)
{
for
(
Bill
Item
item
:
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getBillItem
List
())
{
amountStr
.
append
(
getPLable
(
item
.
getName
()
+
" "
+
item
.
getMoney
(),
HTML_PRINT_GRAVITY_RIGHT
));
}
}
amountStr
.
append
(
getLine
(
21
,
HTML_PRINT_GRAVITY_RIGHT
));
amountStr
.
append
(
"總金額 "
).
append
(
MyOrderManage
.
getInstance
().
getTotalAmount
());
amountStr
.
append
(
"總金額 "
).
append
(
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getTotalAmount
());
return
getLine
(
21
,
HTML_PRINT_GRAVITY_RIGHT
)
+
amountStr
;
}
protected
String
getHtmlBillPayInfo
()
{
StringBuilder
payInfo
=
new
StringBuilder
();
for
(
PayMethod
payMethod
:
MyOrderManage
.
getInstance
().
getBillMoney
())
{
for
(
PayMethod
payMethod
:
DoshokuOrder
.
getInstance
().
getBillMoney
())
{
payInfo
.
append
(
getPLable
(
payMethod
.
getPayName
()
+
" $"
+
payMethod
.
getPayMoney
(),
HTML_PRINT_GRAVITY_LEFT
));
}
return
getWholeLine
()
+
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
f47767b0
...
...
@@ -2,9 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
android.text.TextUtils
;
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.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
...
...
@@ -205,7 +204,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
@Override
public
Observable
<
BaseOrderRespose
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrder
(
MyOrderManage
.
getInstance
().
getOrderId
());
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
BaseOrderRespose
baseOrderRespose
=
new
BaseOrderRespose
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
View file @
f47767b0
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
...
...
@@ -94,21 +92,21 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
if
(
info
.
getData
()
!=
null
)
{
if
(
info
.
getData
()
instanceof
Double
)
{
//未上線,避免正式版閃退
MyOrderManage
.
getInstance
().
setOrderId
((
Double
)
info
.
getData
());
MyOrderManage
.
getInstance
().
getOrderBean
().
setOrderNo
(((
Double
)
info
.
getData
()).
longValue
()
+
""
);
DoshokuOrder
.
getInstance
().
setOrderId
((
long
)
info
.
getData
());
DoshokuOrder
.
getInstance
().
setOrderNo
(((
Double
)
info
.
getData
()).
longValue
()
+
""
);
}
else
{
LinkedTreeMap
tm
=
(
LinkedTreeMap
)
info
.
getData
();
for
(
Object
o
:
tm
.
keySet
())
{
String
key
=
(
String
)
o
;
if
(
key
.
equals
(
"id"
))
{
MyOrderManage
.
getInstance
().
setOrderId
((
Double
)
tm
.
get
(
key
));
DoshokuOrder
.
getInstance
().
setOrderId
((
long
)
tm
.
get
(
key
));
}
else
if
(
key
.
equals
(
"orderNo"
))
{
MyOrderManage
.
getInstance
().
getOrderBean
().
setOrderNo
((
String
)
tm
.
get
(
key
));
DoshokuOrder
.
getInstance
().
setOrderNo
((
String
)
tm
.
get
(
key
));
}
}
}
}
return
loadOrder
(
MyOrderManage
.
getInstance
().
getOrderId
());
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
BaseOrderRespose
baseOrderRespose
=
new
BaseOrderRespose
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
...
...
@@ -128,7 +126,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
public
Observable
<
BaseOrderRespose
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
saveCreateTime
(
info
.
getSysTime
());
return
loadOrder
(
MyOrderManage
.
getInstance
().
getOrderId
());
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
BaseOrderRespose
baseOrderRespose
=
new
BaseOrderRespose
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
...
...
@@ -165,7 +163,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
@Override
public
Observable
<
BaseOrderRespose
>
apply
(
BaseOrderRespose
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrder
(
MyOrderManage
.
getInstance
().
getOrderId
());
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
return
Observable
.
just
(
info
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/DoshokuCart.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
cart
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-24
* 修订历史:2020-09-24
* 描述:堂食下單購物車
*/
public
class
DoshokuCart
extends
ShoppingCart
{
/**
* 食品列表
*/
private
List
<
OrderDetail
>
orderFoodList
=
new
ArrayList
<>();
/**
* 所有折扣實體
*/
private
MultyDiscount
multyDiscounts
;
/**
* 記錄刪除的食品以及原因
*/
private
List
<
DeleteOrderRequest
>
deleteOrders
;
/**
* 服務費
*/
private
Double
serviceCharge
;
public
MultyDiscount
addNomalDiscount
(
Discount
discount
)
{
multyDiscounts
=
new
NomalDiscount
(
multyDiscounts
,
discount
);
return
multyDiscounts
;
}
public
MultyDiscount
addMemberDiscount
(
MemberInfo
discount
)
{
multyDiscounts
=
new
MemberDiscount
(
multyDiscounts
,
discount
);
return
multyDiscounts
;
}
public
MultyDiscount
addCouponDiscount
(
CouponDiscountBean
discount
)
{
multyDiscounts
=
new
CouponDiscount
(
multyDiscounts
,
discount
);
return
multyDiscounts
;
}
@Override
public
void
pay
(
double
money
)
{
super
.
pay
(
money
);
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/ShoppingCart.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
cart
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.SingleObserver
;
import
io.reactivex.disposables.Disposable
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 購物車抽象類
*/
@Data
public
abstract
class
ShoppingCart
{
/**
* 合計
*/
private
double
wholeAmount
=
0.0
;
/**
* 總金額
*/
private
double
totalAmount
=
0.0
;
public
static
void
main
(
String
[]
arg
)
{
Discount
discount
=
new
Discount
();
discount
.
setType
(
1
);
discount
.
setRemark
(
"9折"
);
discount
.
setDiscount_value
(
10
);
MemberInfo
memberDiscount
=
new
MemberInfo
();
memberDiscount
.
setMemberName
(
"斯八達"
);
memberDiscount
.
setMemberDiscount
(
20
);
CouponDiscountBean
couponDiscount
=
new
CouponDiscountBean
();
couponDiscount
.
setCouponType
((
byte
)
2
);
couponDiscount
.
setCouponTypeName1
(
"立減8元"
);
couponDiscount
.
setAmount
(
8
);
// NomalDiscount nomalDiscountBean = (NomalDiscount) shoppingCart.addNomalDiscount(discount);
// MemberDiscount memberDiscountBean = (MemberDiscount) shoppingCart.addMemberDiscount(memberDiscount);
// CouponDiscount couponDiscountBean = (CouponDiscount) shoppingCart.addCouponDiscount(couponDiscount);
//
// MultyDiscount multyDiscount = shoppingCart.getMultyDiscounts();
// double money = multyDiscount.calculate(100);
//
// System.out.println("calculate : " + money);
// System.out.println("NomalDiscount discountMoney : " + nomalDiscountBean.getDiscountMoney());
// System.out.println("MemberDiscount discountMoney : " + memberDiscountBean.getDiscountMoney());
// System.out.println("CouponDiscount discountMoney : " + couponDiscountBean.getDiscountMoney());
String
[]
strs
=
new
String
[]{
"jack"
,
"ann"
,
"one"
,
"two"
,
"three"
,
"four"
};
Observable
.
fromArray
(
strs
)
.
toSortedList
()
//自然排序 ,升序
.
subscribe
(
new
SingleObserver
<
List
<
String
>>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
}
@Override
public
void
onSuccess
(
List
<
String
>
list
)
{
if
(
list
!=
null
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
System
.
out
.
println
(
"toList item======="
+
list
.
get
(
i
));
}
}
}
@Override
public
void
onError
(
Throwable
e
)
{
}
});
}
/**
* 具體支付類需要實現的方法
*/
public
void
pay
(
double
money
)
{
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/TakeawayCart.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
cart
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-24
* 修订历史:2020-09-24
* 描述:外賣下單購物車
*/
public
class
TakeawayCart
extends
ShoppingCart
{
@Override
public
void
pay
(
double
money
)
{
super
.
pay
(
money
);
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/CouponDiscount.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
lombok.Getter
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 優惠券折扣{@link CouponDiscountBean}
*/
@Getter
public
class
CouponDiscount
extends
MultyDiscount
{
private
CouponDiscountBean
couponDiscount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
CouponDiscount
(
MultyDiscount
nextMultyDiscount
,
CouponDiscountBean
couponDiscount
)
{
super
(
nextMultyDiscount
);
this
.
couponDiscount
=
couponDiscount
;
}
@Override
public
double
calculate
(
double
money
)
{
if
(
couponDiscount
!=
null
)
{
//配置了消費滿減
double
totalAmount
=
money
;
if
(
couponDiscount
.
getSpend
()
!=
null
&&
totalAmount
>
couponDiscount
.
getSpend
())
{
//未滿足消費滿條件
}
else
{
discountMoney
=
calculationCoupon
(
couponDiscount
,
money
);
money
=
MoneyUtil
.
sum
(
money
,
discountMoney
);
}
}
return
super
.
calculate
(
money
);
}
/**
* 計算優惠券金額
*
* @param couponDiscount
* @param sourceMoney
* @return
*/
public
static
double
calculationCoupon
(
CouponDiscountBean
couponDiscount
,
double
sourceMoney
)
{
double
discountMoney
=
0
;
if
(
couponDiscount
.
getCouponType
()
==
2
)
{
//金額折扣
discountMoney
=
couponDiscount
.
getAmount
();
}
else
{
//百分比折扣
discountMoney
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourceMoney
,
couponDiscount
.
getDiscount
()),
100
).
doubleValue
();
}
if
(
sourceMoney
<
discountMoney
)
{
//折扣金額不能超出總額
discountMoney
=
sourceMoney
;
}
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountMoney
));
}
/**
* 獲取優惠券折扣ID
*
* @return
*/
public
Long
getCouponDiscountId
()
{
if
(
couponDiscount
!=
null
)
{
return
couponDiscount
.
getId
();
}
return
null
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MemberDiscount.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
lombok.Getter
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 會員折扣{@link MemberInfo#memberDiscount}
*/
@Getter
public
class
MemberDiscount
extends
MultyDiscount
{
private
MemberInfo
memberDiscount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
MemberDiscount
(
MultyDiscount
nextMultyDiscount
,
MemberInfo
memberDiscount
)
{
super
(
nextMultyDiscount
);
this
.
memberDiscount
=
memberDiscount
;
}
@Override
public
double
calculate
(
double
money
)
{
if
(
memberDiscount
!=
null
)
{
discountMoney
=
calculationMemberDiscount
(
memberDiscount
.
getMemberDiscount
(),
money
);
money
=
MoneyUtil
.
sum
(
money
,
discountMoney
);
}
return
super
.
calculate
(
money
);
}
public
static
double
calculationMemberDiscount
(
int
discountRate
,
double
sourceMoney
)
{
double
discountMoney
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourceMoney
,
discountRate
),
100
).
doubleValue
();
if
(
sourceMoney
<
discountMoney
)
{
//折扣金額不能超出總額
discountMoney
=
sourceMoney
;
}
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountMoney
));
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MultyDiscount.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 折扣抽象類{@link MultyDiscount}
*/
public
abstract
class
MultyDiscount
{
/**責任鏈中的下一個對象*/
protected
MultyDiscount
nextMultyDiscount
;
public
MultyDiscount
(
MultyDiscount
nextMultyDiscount
)
{
this
.
nextMultyDiscount
=
nextMultyDiscount
;
}
public
double
calculate
(
double
money
)
{
if
(
nextMultyDiscount
!=
null
)
{
return
nextMultyDiscount
.
calculate
(
money
);
}
return
money
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/NomalDiscount.java
deleted
100644 → 0
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Getter
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 整單折扣{@link Discount}
*/
@Getter
public
class
NomalDiscount
extends
MultyDiscount
{
private
Discount
discount
;
/**
* 本次折扣金额
*/
private
Double
discountMoney
;
public
NomalDiscount
(
MultyDiscount
nextMultyDiscount
,
Discount
discount
)
{
super
(
nextMultyDiscount
);
this
.
discount
=
discount
;
}
@Override
public
double
calculate
(
double
money
)
{
if
(
discount
!=
null
){
discountMoney
=
calculationDiscount
(
discount
,
money
);
money
=
MoneyUtil
.
sum
(
money
,
discountMoney
);
}
return
super
.
calculate
(
money
);
}
/**
* 計算整单折扣金額
*
* @param discount
* @param sourceMoney
* @return
*/
public
static
double
calculationDiscount
(
Discount
discount
,
double
sourceMoney
)
{
double
discountMoney
;
if
(
discount
.
getType
()
==
0
)
{
//金額折扣
discountMoney
=
discount
.
getAmount
();
}
else
{
//百分比折扣
discountMoney
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourceMoney
,
discount
.
getDiscount_value
()),
100
).
doubleValue
();
}
if
(
sourceMoney
<
discountMoney
)
{
//折扣金額不能超出總額
discountMoney
=
sourceMoney
;
}
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountMoney
));
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
f47767b0
This diff is collapsed.
Click to expand it.
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
View file @
f47767b0
...
...
@@ -5,8 +5,10 @@ import android.app.Application;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
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.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -453,8 +455,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
*/
protected
List
<
OrderDetail
>
getNewOrderFoodLists
()
{
List
<
OrderDetail
>
orderDetails
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
MyOrderManage
.
getInstance
().
getOrderFoodList
().
size
();
i
++)
{
OrderDetail
orderDetail
=
MyOrderManage
.
getInstance
().
getOrderFoodList
().
get
(
i
);
List
<
OrderDetail
>
orderCommodityList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodityList
();
for
(
int
i
=
0
;
i
<
orderCommodityList
.
size
();
i
++)
{
OrderDetail
orderDetail
=
orderCommodityList
.
get
(
i
);
if
(
orderDetail
.
isNew
())
{
orderDetails
.
add
(
orderDetail
);
}
...
...
@@ -463,8 +466,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
}
private
void
setFid
(
List
<
Modifier
>
fineItemList
,
long
fid
)
{
if
(
fineItemList
==
null
)
if
(
fineItemList
==
null
)
{
return
;
}
for
(
int
i
=
0
;
i
<
fineItemList
.
size
();
i
++)
{
Modifier
modifier
=
fineItemList
.
get
(
i
);
modifier
.
setFid
(
fid
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
f47767b0
...
...
@@ -14,7 +14,6 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
...
...
@@ -160,110 +159,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
this
.
mApplication
=
null
;
}
/**
* 初始化張單項
* 1、添加服務費項 {@link ServiceChargeItem}
* 2、添加折扣項 {@link NomalDiscount}
*/
// private void initBillItem() {
//
// //1、添加服務費項
// if (mShoppingCart.getServiceCharge() != null) {
// mShoppingCart.addBillItem(createServiceChargeItem(mShoppingCart.getServiceCharge()));
// }
//
// //2、添加折扣項
// if (mDoshokuOrder != null) {
// //獲取已下單信息
// OrderBean orderPlaced = mDoshokuOrder.getOrderPlaced();
// if (orderPlaced != null) {
// List<OrderDiscount.Respose> discountDetails = orderPlaced.getDiscountDetails();
// for (OrderDiscount.Respose discount : discountDetails) {
// addDiscountItem(discount);
// addMultyDiscount(discount);
// }
// }
// } else {
//
// }
// }
//
// private BillItem createServiceChargeItem(double money) {
// BillItem billItem = new ServiceChargeItem(serviceChargeStr, money);
// return billItem;
// }
/**
* 創建折扣賬單項
*
* @param orderDiscount
* @return
*/
private
void
addDiscountItem
(
OrderDiscount
.
Respose
orderDiscount
)
{
DiscountItem
discountItem
=
new
DiscountItem
();
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
ORDER_DISCOUNT
)
{
discountItem
.
setName
(
orderDiscount
.
getRemark
());
}
else
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
MEMBER_DISCOUNT
)
{
//會員折扣
if
(
mDoshokuOrder
!=
null
)
{
discountItem
.
setName
(
mDoshokuOrder
.
getMemberInfo
().
getMemberName
());
}
}
else
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
COUPON_DISCOUNT
)
{
//优惠券折扣
CouponDiscountBean
couponDiscount
=
new
CouponDiscountBean
();
couponDiscount
.
setCouponTypeName1
(
orderDiscount
.
getRemark
());
couponDiscount
.
setCouponTypeName2
(
orderDiscount
.
getRemark2
());
couponDiscount
.
setCouponTypeName3
(
orderDiscount
.
getRemark3
());
discountItem
.
setName
(
couponDiscount
.
getName
());
}
mShoppingCart
.
addBillItem
(
discountItem
);
}
/**
* 將已送單折扣 添加到購物車
*/
private
void
addMultyDiscount
(
OrderDiscount
.
Respose
orderDiscount
)
{
MultyDiscount
multyDiscount
=
null
;
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
ORDER_DISCOUNT
)
{
Discount
discount
=
new
Discount
();
discount
.
setId
(
orderDiscount
.
getDiscountId
());
discount
.
setRemark
(
orderDiscount
.
getRemark
());
//整單折扣
if
(
orderDiscount
.
getDiscountValue
()
!=
0
)
{
//百分比折扣
discount
.
setType
(
1
);
discount
.
setDiscount_value
(
orderDiscount
.
getDiscountValue
());
}
if
(
orderDiscount
.
getDiscountAmount
()
!=
0
)
{
//金額折扣
discount
.
setType
(
0
);
discount
.
setAmount
(
orderDiscount
.
getDiscountAmount
());
}
multyDiscount
=
mShoppingCart
.
addNomalDiscount
(
null
,
discount
);
}
else
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
MEMBER_DISCOUNT
)
{
//會員折扣
if
(
mDoshokuOrder
!=
null
)
{
multyDiscount
=
mShoppingCart
.
addMemberDiscount
(
null
,
mDoshokuOrder
.
getMemberInfo
());
}
}
else
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
COUPON_DISCOUNT
)
{
//优惠券折扣
CouponDiscountBean
couponDiscount
=
new
CouponDiscountBean
();
couponDiscount
.
setCouponTypeName1
(
orderDiscount
.
getRemark
());
couponDiscount
.
setCouponTypeName2
(
orderDiscount
.
getRemark2
());
couponDiscount
.
setCouponTypeName3
(
orderDiscount
.
getRemark3
());
couponDiscount
.
setAccumulate
(
orderDiscount
.
getAccumulate
());
couponDiscount
.
setSpend
(
orderDiscount
.
getSpend
());
couponDiscount
.
setDiscount
(
orderDiscount
.
getDiscountValue
());
couponDiscount
.
setAmount
(
orderDiscount
.
getDiscountAmount
());
multyDiscount
=
mShoppingCart
.
addCouponDiscount
(
null
,
couponDiscount
);
}
if
(
multyDiscount
!=
null
)
{
mShoppingCart
.
addMultyDiscount
(
multyDiscount
);
}
}
public
void
startScanActivity
()
{
toScanActivity
();
}
...
...
@@ -910,7 +805,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
info
.
getData
()
instanceof
Double
)
{
//未上線,避免正式版閃退
setOrderId
((
Double
)
info
.
getData
());
MyOrderManage
.
getInstance
().
getOrderBean
()
.
setOrderNo
(((
Double
)
info
.
getData
()).
longValue
()
+
""
);
mDoshokuOrder
.
setOrderNo
(((
Double
)
info
.
getData
()).
longValue
()
+
""
);
}
else
{
LinkedTreeMap
tm
=
(
LinkedTreeMap
)
info
.
getData
();
for
(
Object
o
:
tm
.
keySet
())
{
...
...
@@ -918,13 +813,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
key
.
equals
(
"id"
))
{
setOrderId
((
Double
)
tm
.
get
(
key
));
}
else
if
(
key
.
equals
(
"orderNo"
))
{
MyOrderManage
.
getInstance
().
getOrderBean
()
.
setOrderNo
((
String
)
tm
.
get
(
key
));
mDoshokuOrder
.
setOrderNo
((
String
)
tm
.
get
(
key
));
}
}
}
}
mRootView
.
showMessage
(
"送單成功"
);
MyOrderManage
.
getInstance
()
.
setNewFoodList
(
getOrderFoodLists
());
mDoshokuOrder
.
setNewFoodList
(
getOrderFoodLists
());
printSendOrder
(
true
);
}
else
{
mRootView
.
showMessage
(
info
.
getErrMsg
());
...
...
@@ -937,7 +832,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public
void
addOrderFood
(
boolean
isPrint
,
Class
afterToActivity
)
{
List
<
OrderDetail
>
foodLists
=
getOrderFoodLists
();
for
(
OrderDetail
food
:
foodLists
)
{
food
.
setOrderId
(
MyOrderManage
.
getInstance
()
.
getOrderId
());
food
.
setOrderId
(
mDoshokuOrder
.
getOrderId
());
}
AddOrderRequest
addOrderRequest
=
getAddOrderRequest
(
foodLists
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
addOrderRequest
));
...
...
@@ -1032,7 +927,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//將取消信息保存到訂單信息類中
DeleteOrderRequest
request
=
getDeleteOrderRequest
(
ids
,
reasonId
,
maxNumber
,
deleteNumber
);
m
yOrderManage
.
addDelete
Order
(
request
);
m
DoshokuOrder
.
addDeleteMeal
Order
(
request
);
mRootView
.
showBtnMealModifyRestoreVisibility
(
true
);
...
...
@@ -1058,7 +953,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
item
.
setPrice
(
item
.
getNumber
()
*
item
.
getUnit_price
());
}
}
m
yOrderManage
.
setDelete
Orders
(
null
);
m
DoshokuOrder
.
setDeleteMeal
Orders
(
null
);
mSelectMealAdapter
.
notifyDataSetChanged
();
//更新賬單金額
updateBillInfo
();
...
...
@@ -1682,7 +1577,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @return
*/
public
boolean
memberPointsCondition
(
double
pointsRedeem
,
String
foodName
)
{
MemberInfo
memberInfo
=
m
yOrderManage
.
getMemberInfo
();
MemberInfo
memberInfo
=
m
DoshokuOrder
.
getMemberInfo
();
if
(
memberInfo
==
null
)
{
//当前食品需要会员积分
if
(
pointsRedeem
>
0
)
{
...
...
@@ -2188,8 +2083,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
private
DeleteOrderRequest
getDeleteOrderRequest
(
String
ids
,
long
reasonId
,
int
maxNumber
,
int
deleteNumber
)
{
List
<
DeleteOrderRequest
.
DeleteBean
>
mapsDelete
=
getMapsDelete
(
ids
,
maxNumber
,
deleteNumber
);
byte
type
=
(
byte
)
(
m
yOrderManage
.
isModifyOrder
()
?
2
:
1
);
long
orderId
=
MyOrderManage
.
getInstance
()
.
getOrderId
();
byte
type
=
(
byte
)
(
m
DoshokuOrder
.
isModifyOrder
()
?
2
:
1
);
long
orderId
=
mDoshokuOrder
.
getOrderId
();
DeleteOrderRequest
request
=
new
DeleteOrderRequest
();
request
.
setMapsDelete
(
mapsDelete
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
f47767b0
This diff is collapsed.
Click to expand it.
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
f47767b0
...
...
@@ -2,17 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import
android.app.Application
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderPayRequest
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
...
...
@@ -219,7 +214,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬
*/
public
void
toOrderPay
(
boolean
show
)
{
if
(
m
yOrderManage
.
isModifyOrder
())
{
if
(
m
DoshokuOrder
.
isModifyOrder
())
{
//修改訂單
updateOrderPay
();
return
;
...
...
@@ -252,13 +247,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
if
(
baseResult
.
isSuccess
())
{
OrderPayRespose
orderPayRespose
=
JsonUtils
.
parseObject
(
baseResult
.
getData
(),
OrderPayRespose
.
class
);
if
(
orderPayRespose
!=
null
)
{
if
(
m
yOrderManage
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
()
.
setAddPoints
(
orderPayRespose
.
getAddPoints
());
MyOrderManage
.
getInstance
()
.
setNowPoints
(
orderPayRespose
.
getNowPoints
());
MyOrderManage
.
getInstance
()
.
setOldPoints
(
orderPayRespose
.
getOldPoints
());
if
(
m
DoshokuOrder
.
getMemberInfo
()
!=
null
)
{
mDoshokuOrder
.
setAddPoints
(
orderPayRespose
.
getAddPoints
());
mDoshokuOrder
.
setNowPoints
(
orderPayRespose
.
getNowPoints
());
mDoshokuOrder
.
setOldPoints
(
orderPayRespose
.
getOldPoints
());
}
else
{
if
(!
TextUtils
.
isEmpty
(
orderPayRespose
.
getVerifyCode
()))
{
MyOrderManage
.
getInstance
()
.
setIntegralQrcode
(
orderPayRespose
.
getVerifyCode
());
mDoshokuOrder
.
setIntegralQrcode
(
orderPayRespose
.
getVerifyCode
());
}
}
}
...
...
@@ -279,12 +274,12 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
private
OrderPayRequest
getOrderPayRequest
(
OrderPayView
orderPayView
)
{
MemberInfo
memberInfo
=
m
yOrderManage
.
getMemberInfo
();
MemberInfo
memberInfo
=
m
DoshokuOrder
.
getMemberInfo
();
List
<
PayMethod
>
payMethodList
=
orderPayView
.
getBillMoneyList
();
OrderPayRequest
payRequest
=
new
OrderPayRequest
();
payRequest
.
setOrderId
(
MyOrderManage
.
getInstance
()
.
getOrderId
());
payRequest
.
setOrderId
(
mDoshokuOrder
.
getOrderId
());
payRequest
.
setOrderPayType
(
orderPayType
);
payRequest
.
setLinePayType
(
orderPayView
.
getLinePayType
());
payRequest
.
setTableId
(
mTableInfo
.
getId
());
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
f47767b0
...
...
@@ -5,13 +5,11 @@ import android.content.Context;
import
android.os.CountDownTimer
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
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.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableExtBean
;
...
...
@@ -326,7 +324,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public
void
onNext
(
@NonNull
BaseOrderRespose
respose
)
{
if
(
respose
.
isSuccess
())
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
TableBean
.
DataBean
tableInfo
=
doshokuOrder
.
getOpenTableInfo
();
tableInfo
.
setPerson
(
0
);
//設置當前開台數據1584427984728 1584428017196 1584428086282
// TableBean.DataBean dataBean = getTableById(tableId);
...
...
@@ -345,16 +345,16 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
respose
.
getData
().
getOrderDetails
();
//緩存訂單信息
MyOrderManage
.
getInstance
().
setOrderBean
(
new
OrderBean
(
orderBean
));
doshokuOrder
.
setOrderPlaced
(
new
OrderBean
(
orderBean
));
//緩存食品信息
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
MyOrderManage
.
getInstance
().
setOrderFood
List
(
orderDetailList
);
doshokuOrder
.
getShoppingCart
().
setOrderCommodity
List
(
orderDetailList
);
}
else
{
MyOrderManage
.
getInstance
().
setOrderBean
(
null
);
MyOrderManage
.
getInstance
().
setOrderFood
List
(
new
ArrayList
<>());
doshokuOrder
.
setOrderPlaced
(
null
);
doshokuOrder
.
getShoppingCart
().
setOrderCommodity
List
(
new
ArrayList
<>());
}
DoshokuOrder
.
getInstance
()
.
setOpenTableInfo
(
openTableBean
);
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
printParper
();
}
else
{
...
...
@@ -372,10 +372,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
//清空賬單數據
MyOrderManage
.
getInstance
().
clear
();
//清空賬單數據
DoshokuOrder
.
getInstance
().
initialization
();
mRootView
.
canceTableAction
();
});
}
...
...
@@ -415,7 +412,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
OrderBean
orderBean
=
respose
.
getData
();
if
(
orderBean
!=
null
&&
respose
.
getData
().
getOrderDetails
()
!=
null
)
{
...
...
@@ -431,19 +427,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
setTopId
(
mealCommoditysBeans
);
//設置用餐人數
doshokuOrder
.
getOpenTableInfo
()
.
setPerson
(
orderBean
.
getPerson
());
openTableBean
.
setPerson
(
orderBean
.
getPerson
());
//緩存訂單信息
doshokuOrder
.
setOrderPlaced
(
new
OrderBean
(
orderBean
));
doshokuOrder
.
getShoppingCart
().
addCommodityList
(
OrderDetail
.
orderTransOrderDetails
(
mealCommoditysBeans
));
// MyOrderManage.getInstance().setOrderFoodList(mealCommodityList);
// if (orderBean.getMemberInfo() != null) {
// //设置会员信息
// MyOrderManage.getInstance().setMemberInfo(orderBean.getMemberInfo());
// MyOrderManage.getInstance().setMemberUpdateStatus(true + "-" + true);
// }else {
// MyOrderManage.getInstance().setMemberUpdateStatus(false + "-" + false);
// }
if
(
orderBean
.
getMemberInfo
()
!=
null
)
{
//设置会员信息
doshokuOrder
.
setMemberInfo
(
orderBean
.
getMemberInfo
());
doshokuOrder
.
setMemberUpdateStatus
(
true
+
"-"
+
true
);
}
else
{
doshokuOrder
.
setMemberUpdateStatus
(
false
+
"-"
+
false
);
}
}
else
{
doshokuOrder
.
setOrderPlaced
(
null
);
doshokuOrder
.
getShoppingCart
().
setOrderCommodityList
(
new
ArrayList
<>());
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
View file @
f47767b0
...
...
@@ -5,13 +5,15 @@ import android.content.Context;
import
android.content.Intent
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
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.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
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.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
...
...
@@ -70,12 +72,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private
OrderCenterAdapter
mOrderCenterAdapter
;
private
List
<
OrderDetailItem
>
mOrderItemList
=
new
ArrayList
<>();
private
DoshokuOrder
doshokuOrder
;
private
ShoppingCart
shoppingCart
;
@Inject
public
AllOrderPresenter
(
AllOrderContract
.
Model
model
,
AllOrderContract
.
View
rootView
)
{
super
(
model
,
rootView
);
AllOrderFragment
allOrderFragment
=
(
AllOrderFragment
)
rootView
;
this
.
IActivity
=
(
OrderCenterActivity
)
allOrderFragment
.
getCurrentActivity
();
doshokuOrder
=
DoshokuOrder
.
getInstance
();
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
}
@Override
...
...
@@ -108,12 +115,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
@Override
public
void
onModifyClick
(
OrderDetailItem
datasBean
,
int
position
)
{
if
(
datasBean
.
getRestaurantTable
()
==
null
)
{
if
(
datasBean
.
getRestaurantTable
()
==
null
)
{
mRootView
.
showMessage
(
"餐檯不存在,無法修改訂單"
);
return
;
}
//設置為修改訂單操作
MyOrderManage
.
getInstance
()
.
setModifyOrder
(
true
);
doshokuOrder
.
setModifyOrder
(
true
);
/**
* 緩存訂單信息
*/
...
...
@@ -126,7 +134,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
if
(
datasBean
.
getDiscountDetails
()
!=
null
)
{
orderBean
.
setDiscountDetails
(
datasBean
.
getDiscountDetails
());
}
MyOrderManage
.
getInstance
().
setOrderBean
(
orderBean
);
doshokuOrder
.
setOrderPlaced
(
orderBean
);
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
(
datasBean
.
getRestaurantTable
());
if
(!
TextUtils
.
isEmpty
(
tableBean
.
getTableNumber
()))
{
...
...
@@ -135,14 +143,14 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
tableBean
.
setTableName
(
tableBean
.
getTableName
());
}
tableBean
.
setPerson
(
datasBean
.
getPerson
());
DoshokuOrder
.
getInstance
()
.
setOpenTableInfo
(
tableBean
);
doshokuOrder
.
setOpenTableInfo
(
tableBean
);
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
datasBean
.
getOrderDetails
();
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
MyOrderManage
.
getInstance
().
setOrderFood
List
(
orderDetailList
);
doshokuOrder
.
getShoppingCart
().
addCommodity
List
(
orderDetailList
);
if
(
datasBean
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
()
.
setMemberInfo
(
datasBean
.
getMemberInfo
());
doshokuOrder
.
setMemberInfo
(
datasBean
.
getMemberInfo
());
}
Intent
intent
=
new
Intent
(
IActivity
,
MealStandActivity
.
class
);
...
...
@@ -172,29 +180,29 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private
void
startPrintOrder
(
OrderDetailItem
orderDetailItem
,
List
<
OrderDetail
>
orderDetailList
)
{
double
wholeAmount
=
getWholeAmount
(
orderDetailList
);
MyOrderManage
.
getInstance
().
setOrderFoodList
(
orderDetailList
);
MyOrderManage
.
getInstance
().
setOrderMoneyList
(
getOrderMoneyList
(
orderDetailItem
,
wholeAmount
)
);
MyOrderManage
.
getInstance
().
setOrderId
(
orderDetailItem
.
getId
(
));
MyOrderManage
.
getInstance
()
.
setWholeAmount
(
wholeAmount
);
MyOrderManage
.
getInstance
()
.
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
doshokuOrder
.
setOrderId
(
orderDetailItem
.
getId
()
);
shoppingCart
.
setOrderCommodityList
(
orderDetailList
);
shoppingCart
.
setBillItemList
(
getOrderMoneyList
(
orderDetailItem
,
wholeAmount
));
shoppingCart
.
setWholeAmount
(
wholeAmount
);
shoppingCart
.
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
TableBean
.
DataBean
dataBean
=
new
TableBean
.
DataBean
();
dataBean
.
setTableName
(
orderDetailItem
.
getTableName
());
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
()))
{
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
()))
{
dataBean
.
setCreateTime
(
TimeUtils
.
getStringByFormat
(
new
Date
(
orderDetailItem
.
getCreateTime
()),
TimeUtils
.
DEFAULT_DATE_FORMAT_YMDHM
));
}
dataBean
.
setPerson
(
orderDetailItem
.
getPerson
());
DoshokuOrder
.
getInstance
()
.
setOpenTableInfo
(
dataBean
);
doshokuOrder
.
setOpenTableInfo
(
dataBean
);
if
(
orderDetailItem
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
()
.
setMemberInfo
(
orderDetailItem
.
getMemberInfo
());
doshokuOrder
.
setMemberInfo
(
orderDetailItem
.
getMemberInfo
());
}
else
{
MyOrderManage
.
getInstance
()
.
setIntegralQrcode
(
orderDetailItem
.
getVerifyCode
());
doshokuOrder
.
setIntegralQrcode
(
orderDetailItem
.
getVerifyCode
());
}
List
<
PayMethod
>
payMethodList
=
getPayMethodList
(
orderDetailItem
.
getOrderPays
());
if
(
payMethodList
!=
null
)
{
//設置打印所需支付方式
MyOrderManage
.
getInstance
()
.
setBillMoney
(
payMethodList
);
doshokuOrder
.
setBillMoney
(
payMethodList
);
}
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"printActivity"
)
...
...
@@ -202,16 +210,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
MyOrderManage
.
getInstance
().
clear
();
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
null
);
doshokuOrder
.
initialization
();
});
}
private
List
<
Bill
OrderMoney
>
getOrderMoneyList
(
OrderDetailItem
orderDetailItem
,
double
totalMoney
)
{
private
List
<
Bill
Item
>
getOrderMoneyList
(
OrderDetailItem
orderDetailItem
,
double
totalMoney
)
{
List
<
SectionTextItem3
>
printOrderMoneyList
=
new
ArrayList
<>();
List
<
Bill
OrderMoney
>
printBillOrderMoneyList
=
new
ArrayList
<>();
List
<
Bill
Item
>
printBillOrderMoneyList
=
new
ArrayList
<>();
SectionTextItem3
serviceAmountSection
=
getOrderServiceAmountSection
(
orderDetailItem
);
if
(
serviceAmountSection
!=
null
)
{
printOrderMoneyList
.
add
(
serviceAmountSection
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
f47767b0
This diff is collapsed.
Click to expand it.
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
f47767b0
...
...
@@ -14,7 +14,6 @@ import android.widget.Button;
import
android.widget.Chronometer
;
import
android.widget.SimpleAdapter
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
...
...
@@ -23,9 +22,8 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
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.
cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
...
...
@@ -161,6 +159,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
private
List
<
TableBean
.
DataBean
>
mTableList
;
private
DoshokuOrder
mDoshokuOrder
;
private
ShoppingCart
mShoppingCart
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
...
...
@@ -173,24 +173,32 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
}
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
mDoshokuOrder
=
DoshokuOrder
.
getInstance
();
mShoppingCart
=
mDoshokuOrder
.
getShoppingCart
();
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
table_activity_order_content
;
//如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initOrderDetail
();
initTopInfo
();
initOrderBill
(
mPresenter
.
getFoodTotal
(),
mPresenter
.
getTotalAmount
());
mPresenter
.
initTopFunctionData
();
mPresenter
.
initAdapter
();
mPresenter
.
initItemListener
();
if
(!
MyOrderManage
.
getInstance
()
.
isModifyOrder
())
{
if
(!
mDoshokuOrder
.
isModifyOrder
())
{
//根据倒计时时间自动退出当前页面
initAutoQuit
();
}
}
public
void
initOrder
Detail
(
)
{
public
void
initOrder
Bill
(
double
wholeAmount
,
double
totalAmount
)
{
int
foodCount
=
mPresenter
.
getFoodCount
();
if
(
foodCount
>
0
)
{
btn_order_count
.
setText
(
String
.
valueOf
(
foodCount
));
...
...
@@ -198,27 +206,22 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
}
else
{
btn_order_count
.
setVisibility
(
View
.
INVISIBLE
);
}
double
wholeAmount
=
mPresenter
.
getFoodTotal
();
tv_whole
.
setText
(
"合計 $"
+
wholeAmount
);
tv_total
.
setText
(
"$"
+
mPresenter
.
getTotalAmount
());
MyOrderManage
.
getInstance
().
setWholeAmount
(
wholeAmount
);
tv_total
.
setText
(
"$"
+
totalAmount
);
}
private
void
initTopInfo
()
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
()
.
getOpenTableInfo
();
TableBean
.
DataBean
tableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
Date
dd
=
MyOrderManage
.
getInstance
()
.
getOpenTableTime
();
Date
dd
=
mDoshokuOrder
.
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
String
tableno
=
""
;
if
(
tableInfo
.
getSplitStatus
()
!=
0
)
{
tableno
=
tableInfo
.
getTableName
();
if
(
tableInfo
.
getSplitStatus
()
!=
0
)
{
tableno
=
tableInfo
.
getTableName
()
.
trim
()
+
"-"
+
tableInfo
.
getTableNumber
().
trim
()
;
}
else
{
//TODO 暫未分檯功能
// tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim();
tableno
=
tableInfo
.
getTableName
();
}
btn_table
.
setText
(
tableno
);
tv_time
.
setText
(
"時間:"
+
openTime
);
...
...
@@ -233,7 +236,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
protected
void
onResume
()
{
super
.
onResume
();
if
(
MyOrderManage
.
getInstance
()
.
getMemberInfo
()
!=
null
)
{
if
(
mDoshokuOrder
.
getMemberInfo
()
!=
null
)
{
useMember
();
}
}
...
...
@@ -463,8 +466,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
public
void
recordOperat
(
boolean
isPressButtonSound
)
{
if
(
isPressButtonSound
)
if
(
isPressButtonSound
)
{
VibratorUtils
.
pressButtonSound
(
this
);
}
//关闭倒计时
if
(
chronometer
!=
null
)
{
chronometer
.
stop
();
...
...
@@ -478,7 +482,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
public
void
returnTableActivity
(
boolean
initTable
)
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
initTable
&&
tableInfo
!=
null
&&
!
MyOrderManage
.
getInstance
()
.
isModifyOrder
())
{
if
(
initTable
&&
tableInfo
!=
null
&&
!
mDoshokuOrder
.
isModifyOrder
())
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
...
...
@@ -598,8 +602,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
if
(
qrCodeContent
.
length
==
2
)
{
long
couponMemberId
=
Long
.
parseLong
(
qrCodeContent
[
0
]);
Long
memberId
=
null
;
if
(
MyOrderManage
.
getInstance
()
.
getMemberInfo
()
!=
null
)
{
memberId
=
MyOrderManage
.
getInstance
()
.
getMemberInfo
().
getId
();
if
(
mDoshokuOrder
.
getMemberInfo
()
!=
null
)
{
memberId
=
mDoshokuOrder
.
getMemberInfo
().
getId
();
if
(
memberId
!=
couponMemberId
)
{
showMessage
(
"請掃描當前會員的優惠券碼"
);
return
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
f47767b0
...
...
@@ -14,7 +14,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
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.PayMethod
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.BigDecimalUtils
;
...
...
@@ -53,6 +52,7 @@ import javax.inject.Inject;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.RecyclerView
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
...
...
@@ -193,21 +193,21 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
mPresenter
.
setFreeServiceStauts
(
isUseFreeServicePayMethod
);
}
});
gsaPayView
.
setServiceCharge
(
mPresenter
.
getServiceCharge
());
gsaPayView
.
setServiceCharge
(
mPresenter
.
getS
hoppingCart
().
getS
erviceCharge
());
}
private
void
initTopInfo
()
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
Date
dd
=
MyOrderManage
.
getInstance
().
getOpenTableTime
();
Date
dd
=
DoshokuOrder
.
getInstance
().
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
String
tableno
=
""
;
if
(
tableInfo
.
getSplitStatus
()
=
=
0
)
{
tableno
=
tableInfo
.
getTableName
();
if
(
tableInfo
.
getSplitStatus
()
!
=
0
)
{
tableno
=
tableInfo
.
getTableName
().
trim
()
+
"-"
+
tableInfo
.
getTableNumber
().
trim
();
}
else
{
tableno
=
tableInfo
.
getTableName
()
.
trim
()
;
tableno
=
tableInfo
.
getTableName
();
}
btn_table
.
setText
(
tableno
);
tv_time
.
setText
(
"時間:"
+
openTime
);
...
...
@@ -223,12 +223,12 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
double
wholeAmount
=
mPresenter
.
getFoodTotal
();
tv_whole
.
setText
(
"合計 $"
+
wholeAmount
);
MyOrderManage
.
getInstance
().
setWholeAmount
(
wholeAmount
);
DoshokuOrder
.
getInstance
().
getShoppingCart
().
setWholeAmount
(
wholeAmount
);
}
private
void
initMemberInfo
()
{
//会员信息
MemberInfo
memberInfo
=
MyOrderManage
.
getInstance
().
getMemberInfo
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
tv_member_info
.
setVisibility
(
View
.
VISIBLE
);
tv_member_info
.
setText
(
getMemberInfo
());
...
...
@@ -243,7 +243,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
private
String
getMemberInfo
()
{
MemberInfo
memberBean
=
MyOrderManage
.
getInstance
().
getMemberInfo
();
MemberInfo
memberBean
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
String
memberInfo
;
String
memberName
=
memberBean
.
getMemberName
();
String
LevelName1
=
memberBean
.
getLevelName1
();
...
...
@@ -274,7 +274,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
memberIntegral
=
memberBean
.
getMemberPoint
();
memberPointRedeemCash
=
memberBean
.
getPointRedeemCash
();
//獲取積分支付抵扣金額
double
consumptionPoints
=
gsaPayView
.
getPayForConsumptionPoints
(
null
,
memberPointRedeemCash
);
double
consumptionPoints
=
gsaPayView
.
getPayForConsumptionPoints
(
null
,
memberPointRedeemCash
);
//本次積分消耗(積分支付 + 食品獲得積分 + 食品消費積分)
double
thisTimePoints
=
BigDecimalUtils
.
add
(
BigDecimalUtils
.
add
(
consumptionPoints
,
mPresenter
.
getPointsAdd
()),
mPresenter
.
getPointsRedeem
());
if
(
thisTimePoints
>
0
)
{
...
...
@@ -466,9 +466,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
setBillMoney
();
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
if
(!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
showMessage
(
"支付成功"
);
...
...
@@ -503,8 +503,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
// if (result.isSuccess()) {
// //打印成功
// }
//清空賬單數據
MyOrderManage
.
getInstance
().
clear
();
//清空開檯數據
DoshokuOrder
.
getInstance
().
initialization
();
...
...
@@ -524,7 +522,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
payMethod
.
setPayMoney
(
mPresenter
.
getTipsPrice
());
billMoneyList
.
add
(
payMethod
);
}
MyOrderManage
.
getInstance
().
setBillMoney
(
billMoneyList
);
DoshokuOrder
.
getInstance
().
setBillMoney
(
billMoneyList
);
}
public
void
setBillMethodAdapter
(
BaseQuickAdapter
adapter
)
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
View file @
f47767b0
...
...
@@ -14,13 +14,15 @@ import androidx.annotation.Nullable;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
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.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
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.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
...
...
@@ -31,7 +33,6 @@ import com.gingersoft.gsa.cloud.table.R2;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem
;
import
com.gingersoft.gsa.cloud.table.mvp.model.cart.DoshokuCart
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager.OrderDetailPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
...
...
@@ -135,6 +136,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
private
OrderCenterMoneyAdapter
mOrderDetailPayMethodAdapter
;
private
List
<
SectionTextItem3
>
mOrderCenterPayMethodList
=
new
ArrayList
<>();
private
DoshokuOrder
mDoshokuOrder
;
private
ShoppingCart
mShoppingCart
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
...
...
@@ -152,6 +155,13 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
}
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
mDoshokuOrder
=
mDoshokuOrder
;
mShoppingCart
=
mDoshokuOrder
.
getShoppingCart
();
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
scrollview
.
post
(
new
Runnable
()
{
@Override
...
...
@@ -244,7 +254,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
mOrderDetailPayMethodAdapter
.
notifyDataSetChanged
();
}
//設置打印所需支付方式
MyOrderManage
.
getInstance
()
.
setBillMoney
(
payMethodList
);
mDoshokuOrder
.
setBillMoney
(
payMethodList
);
}
public
static
List
<
SectionTextItem3
>
orderPayMethodTransSectionTextItem3
(
List
<
PayMethod
>
payMethodList
)
{
...
...
@@ -438,12 +448,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
}
private
void
startModifyOrder
(
OrderDetailItem
datasBean
)
{
if
(
datasBean
.
getRestaurantTable
()
==
null
)
{
if
(
datasBean
.
getRestaurantTable
()
==
null
)
{
showMessage
(
"餐檯不存在,無法修改訂單"
);
return
;
}
//設置為修改訂單操作
MyOrderManage
.
getInstance
()
.
setModifyOrder
(
true
);
mDoshokuOrder
.
setModifyOrder
(
true
);
/**
* 緩存訂單信息
*/
...
...
@@ -457,7 +467,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if
(
datasBean
.
getDiscountDetails
()
!=
null
)
{
orderBean
.
setDiscountDetails
(
datasBean
.
getDiscountDetails
());
}
MyOrderManage
.
getInstance
().
setOrderBean
(
orderBean
);
mDoshokuOrder
.
setOrderPlaced
(
orderBean
);
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
(
datasBean
.
getRestaurantTable
());
if
(!
TextUtils
.
isEmpty
(
tableBean
.
getTableNumber
()))
{
...
...
@@ -466,14 +476,14 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
tableBean
.
setTableName
(
tableBean
.
getTableName
());
}
tableBean
.
setPerson
(
datasBean
.
getPerson
());
DoshokuOrder
.
getInstance
()
.
setOpenTableInfo
(
tableBean
);
mDoshokuOrder
.
setOpenTableInfo
(
tableBean
);
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
datasBean
.
getOrderDetails
();
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
MyOrderManage
.
getInstance
().
setOrderFood
List
(
orderDetailList
);
mDoshokuOrder
.
getShoppingCart
().
setOrderCommodity
List
(
orderDetailList
);
if
(
datasBean
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
()
.
setMemberInfo
(
datasBean
.
getMemberInfo
());
mDoshokuOrder
.
setMemberInfo
(
datasBean
.
getMemberInfo
());
}
Intent
intent
=
new
Intent
(
this
,
MealStandActivity
.
class
);
...
...
@@ -487,30 +497,30 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
* @param orderDetailList
*/
private
void
startPrintOrder
(
OrderDetailItem
orderDetailItem
,
List
<
OrderDetail
>
orderDetailList
)
{
MyOrderManage
.
getInstance
().
setOrderFood
List
(
orderDetailList
);
MyOrderManage
.
getInstance
().
setOrderMoney
List
(
getOrderMoneyList
());
MyOrderManage
.
getInstance
()
.
setOrderId
(
orderDetailItem
.
getId
());
MyOrderManage
.
getInstance
()
.
setWholeAmount
(
getTotalMoney
());
MyOrderManage
.
getInstance
()
.
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
mShoppingCart
.
setOrderCommodity
List
(
orderDetailList
);
mShoppingCart
.
setBillItem
List
(
getOrderMoneyList
());
mDoshokuOrder
.
setOrderId
(
orderDetailItem
.
getId
());
mShoppingCart
.
setWholeAmount
(
getTotalMoney
());
mShoppingCart
.
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
TableBean
.
DataBean
dataBean
=
new
TableBean
.
DataBean
();
dataBean
.
setTableName
(
orderDetailItem
.
getTableName
());
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
()))
{
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
()))
{
dataBean
.
setCreateTime
(
TimeUtils
.
getStringByFormat
(
new
Date
(
orderDetailItem
.
getCreateTime
()),
TimeUtils
.
DEFAULT_DATE_FORMAT_YMDHM
));
}
dataBean
.
setPerson
(
orderDetailItem
.
getPerson
());
DoshokuOrder
.
getInstance
()
.
setOpenTableInfo
(
dataBean
);
mDoshokuOrder
.
setOpenTableInfo
(
dataBean
);
List
<
PayMethod
>
payMethodList
=
getPayMethodList
(
orderDetailItem
.
getOrderPays
());
if
(
payMethodList
!=
null
)
{
//設置打印所需支付方式
MyOrderManage
.
getInstance
()
.
setBillMoney
(
payMethodList
);
mDoshokuOrder
.
setBillMoney
(
payMethodList
);
}
if
(
orderDetailItem
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
()
.
setMemberInfo
(
orderDetailItem
.
getMemberInfo
());
}
else
{
MyOrderManage
.
getInstance
()
.
setIntegralQrcode
(
orderDetailItem
.
getVerifyCode
());
mDoshokuOrder
.
setMemberInfo
(
orderDetailItem
.
getMemberInfo
());
}
else
{
mDoshokuOrder
.
setIntegralQrcode
(
orderDetailItem
.
getVerifyCode
());
}
CC
.
obtainBuilder
(
"Component.Print"
)
...
...
@@ -519,21 +529,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
MyOrderManage
.
getInstance
().
clear
();
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
null
);
mDoshokuOrder
.
initialization
();
});
}
private
List
<
Bill
OrderMoney
>
getOrderMoneyList
()
{
List
<
Bill
OrderMoney
>
billOrderMoneyList
=
new
ArrayList
<>();
private
List
<
Bill
Item
>
getOrderMoneyList
()
{
List
<
Bill
Item
>
billOrderMoneyList
=
new
ArrayList
<>();
if
(
mOrderCenterMoneyList
!=
null
)
{
for
(
SectionTextItem3
item
:
mOrderCenterMoneyList
)
{
Bill
OrderMoney
billOrderMoney
=
new
BillOrderMoney
();
bill
OrderMoney
.
setName
(
item
.
getLeftText
());
bill
OrderMoney
.
setMoney
(
Double
.
parseDouble
(
item
.
getRightText
()));
billOrderMoneyList
.
add
(
bill
OrderMoney
);
Bill
Item
billItem
=
new
BillOrderMoney
();
bill
Item
.
setName
(
item
.
getLeftText
());
bill
Item
.
setMoney
(
Double
.
parseDouble
(
item
.
getRightText
()));
billOrderMoneyList
.
add
(
bill
Item
);
}
}
return
billOrderMoneyList
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
f47767b0
...
...
@@ -7,11 +7,9 @@ import android.view.View;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.commodity.Commodity
;
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.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -75,6 +73,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
public
SelectMealAdapter
(
Context
context
,
List
<
OrderDetail
>
data
,
BasePresenter
presenter
)
{
super
(
data
);
this
.
mContext
=
context
;
this
.
BillListFontSize
=
GsaCloudApplication
.
uiStyleConfiguration
.
getBillListFontSizeValue
();
if
(
presenter
instanceof
MealStandPresenter
)
{
// this.mMealStandPresenter = (MealStandPresenter) presenter;
this
.
mMealStandActivity
=
(
MealStandActivity
)
context
;
...
...
@@ -621,13 +620,13 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
public
void
setMyOrderManageSelectPosition
()
{
MyOrderManage
.
getInstance
().
setSelect_Full_start_position
(
select_full_start_position
);
MyOrderManage
.
getInstance
().
setSelect_Full_end_position
(
select_full_end_position
);
MyOrderManage
.
getInstance
().
setSelstartpostion
(
select_start_position
);
MyOrderManage
.
getInstance
().
setSelendpostion
(
select_end_position
);
MyOrderManage
.
getInstance
().
setSelmainendpostion
(
mainEndPos
);
MyOrderManage
.
getInstance
().
setSelmainstartpositon
(
mainStartPos
);
MyOrderManage
.
getInstance
().
setSelpostion
(
select_position
);
//
MyOrderManage.getInstance().setSelect_Full_start_position(select_full_start_position);
//
MyOrderManage.getInstance().setSelect_Full_end_position(select_full_end_position);
//
MyOrderManage.getInstance().setSelstartpostion(select_start_position);
//
MyOrderManage.getInstance().setSelendpostion(select_end_position);
//
MyOrderManage.getInstance().setSelmainendpostion(mainEndPos);
//
MyOrderManage.getInstance().setSelmainstartpositon(mainStartPos);
//
MyOrderManage.getInstance().setSelpostion(select_position);
}
/**
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
View file @
f47767b0
...
...
@@ -17,10 +17,9 @@ import android.view.animation.DecelerateInterpolator;
import
android.view.animation.TranslateAnimation
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.
bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
...
...
@@ -73,6 +72,8 @@ public class UseMemberDialog extends Dialog {
private
MemberInfoAdapter
mMemberInfoAdapter
;
private
List
<
SectionTextItem
>
mMemberInfoList
;
private
MemberInfo
memberInfo
;
public
UseMemberDialog
(
Context
context
)
{
super
(
context
,
R
.
style
.
QMUI_BottomSheet
);
...
...
@@ -214,7 +215,7 @@ public class UseMemberDialog extends Dialog {
mDialog
=
new
UseMemberDialog
(
mContext
);
View
contentView
=
buildViews
();
mDialog
.
setContentView
(
contentView
,
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.65
)));
updateMemberInfo
(
MyOrderManage
.
getInstance
().
getMemberInfo
()
);
updateMemberInfo
(
memberInfo
);
return
mDialog
;
}
...
...
@@ -348,6 +349,10 @@ public class UseMemberDialog extends Dialog {
btn_scan
.
setVisibility
(!
show
?
View
.
VISIBLE
:
View
.
GONE
);
}
public
void
setMemberInfo
(
MemberInfo
memberInfo
)
{
this
.
memberInfo
=
memberInfo
;
}
private
String
getTvPhone
()
{
return
ed_phone
.
getText
().
toString
();
}
...
...
@@ -356,6 +361,7 @@ public class UseMemberDialog extends Dialog {
return
R
.
layout
.
meal_dialog_use_member
;
}
private
OnLayoutClickListener
onLayoutClickListener
;
public
UseMemberDialog
setOnLayoutClickListener
(
OnLayoutClickListener
onLayoutClickListener
)
{
...
...
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