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
1a28da3b
Commit
1a28da3b
authored
Oct 23, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
餐檯下單優化
parent
d6728069
Hide whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
1332 additions
and
1046 deletions
+1332
-1046
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/UIStyleExtendedConfiguration.java
+2
-1
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
+3
-3
order-base/src/androidTest/java/com/gingersoft/gsa/cloud/order/base/ExampleInstrumentedTest.java
+0
-27
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/ComponentBaseOrder.java
+8
-8
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/Member.java
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/OrderItem.java
+0
-10
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/adapter/print/FoodAdapter.java
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/adapter/print/KitChenPrintFoodAdapter.java
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/BillOrderMoney.java
+0
-157
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/CouponDiscountBean.java
+4
-3
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
+4
-5
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/mealManger/MyOrderManage.java
+2
-23
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillItem.java
+10
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillOrderMoney.java
+34
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/DiscountItem.java
+6
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/RoundingItem.java
+6
-7
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/ServiceChargeItem.java
+7
-7
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+128
-65
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/Commodity.java
+12
-13
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
+18
-10
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealTakeaway.java
+1
-3
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
+4
-3
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MemberDiscount.java
+0
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/BaseOrder.java
+15
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/DoshokuOrder.java
+46
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/OrderFactory.java
+22
-0
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/TakeawayOrder.java
+5
-0
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
+3
-3
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintServe.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
+3
-3
print-module/src/main/java/com/joe/print/mvp/print/PrintTest.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+3
-3
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintTestActivity.java
+1
-1
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableBean.java
+3
-3
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableExtBean.java
+3
-3
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
+5
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/DoshokuCart.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/utils/OrderAssemblyUtil.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+572
-467
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+161
-53
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+39
-32
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+9
-7
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+85
-30
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
+10
-11
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+24
-21
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+15
-10
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+18
-13
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
+3
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+3
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
+12
-12
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderMoneyAdapter.java
+10
-9
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+2
-1
No files found.
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/UIStyleExtendedConfiguration.java
View file @
1a28da3b
...
...
@@ -17,7 +17,8 @@ public class UIStyleExtendedConfiguration {
* 食品組、食品、細項、折扣行列寬高
*/
private
ExpandInfoSetting
foodGroupRow
=
ExpandInfoSetting
.
builder
()
.
valueInt
(
2
)
// .valueInt(2)
.
valueChar
(
"foodGroupRow類型"
)
.
remark
(
"食品組行數"
)
.
build
();
private
ExpandInfoSetting
foodGroupColumn
=
ExpandInfoSetting
.
builder
()
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
View file @
1a28da3b
...
...
@@ -16,8 +16,8 @@ import androidx.core.content.ContextCompat;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.order.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.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.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils
;
...
...
@@ -197,7 +197,7 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
List
<
BillBean
>
billBeans
=
new
ArrayList
<>();
for
(
BillOrderMoney
billOrderMoney
:
orderMoneyList
)
{
BillBean
billBean
=
new
BillBean
();
billBean
.
setName
(
billOrderMoney
.
get
Titl
e
());
billBean
.
setName
(
billOrderMoney
.
get
Nam
e
());
billBean
.
setAmount
(
billOrderMoney
.
getMoney
());
}
billBeans
.
add
(
new
BillBean
(
"合計:"
,
MyOrderManage
.
getInstance
().
getWholeAmount
(),
0
));
...
...
order-base/src/androidTest/java/com/gingersoft/gsa/cloud/order/base/ExampleInstrumentedTest.java
deleted
100644 → 0
View file @
d6728069
package
com
.
gingersoft
.
gsa
.
cloud
.
order
.
base
;
import
android.content.Context
;
import
androidx.test.platform.app.InstrumentationRegistry
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
static
org
.
junit
.
Assert
.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith
(
AndroidJUnit4
.
class
)
public
class
ExampleInstrumentedTest
{
@Test
public
void
useAppContext
()
{
// Context of the app under test.
Context
appContext
=
InstrumentationRegistry
.
getInstrumentation
().
getTargetContext
();
assertEquals
(
"com.gingersoft.gsa.cloud.order.base.test"
,
appContext
.
getPackageName
());
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/ComponentBaseOrder.java
View file @
1a28da3b
...
...
@@ -2,8 +2,8 @@ package com.gingersoft.gsa.cloud.base.order;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.IComponent
;
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.order.
order.TakeawayOrder
;
public
class
ComponentBaseOrder
implements
IComponent
{
...
...
@@ -28,7 +28,7 @@ public class ComponentBaseOrder implements IComponent {
String
actionName
=
cc
.
getActionName
();
switch
(
actionName
)
{
case
"clearDoshokuOrder"
:
clear
Doshoku
Order
(
cc
);
clearOrder
(
cc
);
break
;
default
:
//这个逻辑分支上没有调用CC.sendCCResult(...),是一种错误的示例
...
...
@@ -39,11 +39,11 @@ public class ComponentBaseOrder implements IComponent {
return
false
;
}
private
void
clear
Doshoku
Order
(
CC
cc
)
{
//
清空賬單數據
MyOrderManage
.
getInstance
().
clear
();
//
清空開檯數據
OpenTableManage
.
getDefault
().
clear
();
private
void
clearOrder
(
CC
cc
)
{
//
初始化堂食賬單類
DoshokuOrder
.
getInstance
().
initialization
();
//
初始化外賣賬單類
TakeawayOrder
.
getInstance
().
initialization
();
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/Member.java
View file @
1a28da3b
...
...
@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
* @author : bin
* @create date: 2020-10-15
* @update date: 2020-10-15
* @description:會員接口
需要使用到會員須實現這個接口
* @description:會員接口
*
*/
public
interface
Member
{
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/OrderItem.java
deleted
100644 → 0
View file @
d6728069
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
;
/**
* @author : bin
* @create date: 2020-10-15
* @update date: 2020-10-15
* @description:餐牌下單 食品,折扣都需要實現這個接口
* */
public
interface
OrderItem
{
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/adapter/print/FoodAdapter.java
View file @
1a28da3b
...
...
@@ -9,7 +9,7 @@ import androidx.annotation.Nullable;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
java.util.List
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/adapter/print/KitChenPrintFoodAdapter.java
View file @
1a28da3b
...
...
@@ -5,7 +5,7 @@ import android.widget.TextView;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/BillOrderMoney.java
deleted
100644 → 0
View file @
d6728069
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
;
import
android.graphics.Color
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-19
* 修订历史:2020-01-19
* 描述:
*/
@Data
public
class
BillOrderMoney
{
private
String
title
;
private
double
money
;
private
int
textSize
;
private
int
textColor
=
Color
.
parseColor
(
"#000000"
);
private
int
bgColor
;
/**是否已送單#0=未送單;1=已送單*/
private
int
status
=
0
;
public
static
final
byte
BILL_ITEM_NO_ORDER_STATUS
=
0
;
public
static
final
byte
BILL_ITEM_ORDER_SENT_STATUS
=
1
;
private
byte
type
=
ORDER_DISCOUNT_TYPE
;
/**整單折扣*/
public
static
final
byte
ORDER_DISCOUNT_TYPE
=
0
;
/**會員等級折扣*/
public
static
final
byte
MEMBER_DISCOUNT_TYPE
=
1
;
/**會員優惠券折扣*/
public
static
final
byte
COUPON_DISCOUNT_TYPE
=
2
;
/**服務費*/
public
static
final
byte
SERVERCHARGE_TYPE
=
3
;
/**賬單小數*/
public
static
final
byte
ROUNDING_TYPE
=
4
;
/**折扣實體*/
private
Discount
discount
;
public
BillOrderMoney
()
{
}
public
BillOrderMoney
(
String
title
,
double
money
,
int
textSize
,
int
textColor
,
int
bgColor
)
{
this
.
title
=
title
;
this
.
money
=
money
;
this
.
textSize
=
textSize
;
this
.
textColor
=
textColor
;
this
.
bgColor
=
bgColor
;
}
public
BillOrderMoney
(
String
title
,
double
money
)
{
this
.
title
=
title
;
this
.
money
=
money
;
}
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
double
getMoney
()
{
return
money
;
}
public
void
setMoney
(
double
money
)
{
this
.
money
=
money
;
}
public
int
getTextSize
()
{
return
textSize
;
}
public
void
setTextSize
(
int
textSize
)
{
this
.
textSize
=
textSize
;
}
public
int
getTextColor
()
{
return
textColor
;
}
public
void
setTextColor
(
int
textColor
)
{
this
.
textColor
=
textColor
;
}
public
int
getBgColor
()
{
return
bgColor
;
}
public
void
setBgColor
(
int
bgColor
)
{
this
.
bgColor
=
bgColor
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
static
byte
getBillItemNoOrderStatus
()
{
return
BILL_ITEM_NO_ORDER_STATUS
;
}
public
static
byte
getBillItemOrderSentStatus
()
{
return
BILL_ITEM_ORDER_SENT_STATUS
;
}
public
byte
getType
()
{
return
type
;
}
public
void
setType
(
byte
type
)
{
this
.
type
=
type
;
}
public
static
byte
getOrderDiscountType
()
{
return
ORDER_DISCOUNT_TYPE
;
}
public
static
byte
getMemberDiscountType
()
{
return
MEMBER_DISCOUNT_TYPE
;
}
public
static
byte
getCouponDiscountType
()
{
return
COUPON_DISCOUNT_TYPE
;
}
public
static
byte
getServerchargeType
()
{
return
SERVERCHARGE_TYPE
;
}
public
static
byte
getRoundingType
()
{
return
ROUNDING_TYPE
;
}
public
Discount
getDiscount
()
{
return
discount
;
}
public
void
setDiscount
(
Discount
discount
)
{
this
.
discount
=
discount
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/CouponDiscountBean.java
View file @
1a28da3b
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.base.order.bean.discount;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
lombok.Data
;
...
...
@@ -68,13 +69,13 @@ public class CouponDiscountBean {
public
String
getName
(){
if
(!
TextUtils
.
isEmpty
(
couponTypeName1
))
{
return
couponTypeName1
;
return
this
.
couponTypeName1
;
}
if
(!
TextUtils
.
isEmpty
(
couponTypeName2
))
{
return
couponTypeName2
;
return
this
.
couponTypeName2
;
}
if
(!
TextUtils
.
isEmpty
(
couponTypeName3
))
{
return
couponTypeName3
;
return
this
.
couponTypeName3
;
}
return
""
;
}
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
discount
;
import
com.gingersoft.gsa.cloud.base.order.b
ean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
...
@@ -99,7 +99,7 @@ public class OrderDiscount {
this
.
scAble
=
scAble
;
}
public
static
Request
orderDiscountTransRequest
(
BillOrderMoney
discount
)
{
public
static
Request
orderDiscountTransRequest
(
DiscountItem
discount
)
{
Request
request
=
new
Request
();
request
.
setType
(
ORDER_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
...
...
@@ -110,8 +110,7 @@ public class OrderDiscount {
return
request
;
}
public
static
Request
memberDiscountTransRequest
(
BillOrderMoney
discount
)
{
public
static
Request
memberDiscountTransRequest
(
DiscountItem
discount
)
{
Request
request
=
new
Request
();
request
.
setType
(
MEMBER_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
...
...
@@ -123,7 +122,7 @@ public class OrderDiscount {
return
request
;
}
public
static
Request
couponDiscountTransRequest
(
BillOrderMoney
discount
)
{
public
static
Request
couponDiscountTransRequest
(
DiscountItem
discount
)
{
Request
request
=
new
Request
();
request
.
setType
(
COUPON_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/mealManger/MyOrderManage.java
View file @
1a28da3b
...
...
@@ -5,10 +5,10 @@ import android.text.TextUtils;
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.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.BillOrderMoney
;
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.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
...
...
@@ -293,27 +293,6 @@ public class MyOrderManage {
return
orderFoodList
!=
null
?
orderFoodList
.
size
()
:
0
;
}
public
void
close
()
{
if
(
orderFoodList
!=
null
)
{
orderFoodList
.
clear
();
}
// if (comboOrders != null) {
// comboOrders.clear();
// }
// if (MixOldOrders != null) {
// MixOldOrders.clear();
// }
// if (mixComboGroup_Discounts != null) {
// mixComboGroup_Discounts.clear();
// }
//
// if (MixComboGroups != null) {
// MixComboGroups.clear();
// }
// allowAddAutoDiscount = false;
// MixComboGroups = null;
}
public
void
clear
()
{
setMemberInfo
(
null
);
if
(
orderFoodList
!=
null
)
{
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillItem.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
billItem
;
import
android.graphics.Color
;
import
lombok.Data
;
/**
...
...
@@ -13,6 +15,14 @@ public abstract class BillItem {
protected
String
name
;
protected
double
money
=
0.0
;
protected
int
textSize
;
protected
int
textColor
=
Color
.
parseColor
(
"#000000"
);
protected
int
bgColor
;
/**是否已送單#0=未送單;1=已送單*/
protected
int
status
=
0
;
public
static
final
byte
BILL_ITEM_NO_ORDER_STATUS
=
0
;
public
static
final
byte
BILL_ITEM_ORDER_SENT_STATUS
=
1
;
public
byte
type
=
ORDER_DISCOUNT_TYPE
;
/**整單折扣*/
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/BillOrderMoney.java
0 → 100644
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
billItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-19
* 修订历史:2020-01-19
* 描述:
*/
@Data
public
class
BillOrderMoney
extends
BillItem
{
/**折扣實體*/
private
Discount
discount
;
public
BillOrderMoney
()
{
}
public
Discount
getDiscount
()
{
return
discount
;
}
public
void
setDiscount
(
Discount
discount
)
{
this
.
discount
=
discount
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/DiscountItem.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
billItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -13,6 +15,7 @@ import lombok.Setter;
@Setter
public
class
DiscountItem
extends
BillItem
{
private
Discount
discount
;
public
DiscountItem
()
{
}
...
...
@@ -21,7 +24,9 @@ public class DiscountItem extends BillItem {
super
(
name
,
money
);
}
public
void
updateBillItem
()
{
public
void
updateBillItem
(
int
type
)
{
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/RoundingItem.java
View file @
1a28da3b
...
...
@@ -10,21 +10,20 @@ import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
*/
public
class
RoundingItem
extends
BillItem
{
public
RoundingItem
(
String
name
,
double
totalAmout
)
{
public
RoundingItem
(
String
name
)
{
super
(
BillItem
.
ROUNDING_TYPE
,
name
);
updateBillItem
(
totalAmout
);
}
public
void
updateBillItem
(
double
totalAmou
t
)
{
double
m2
=
MoneyUtil
.
getOrderRounding
(
totalAmout
);
public
double
updateBillItem
(
double
totalAmoun
t
)
{
double
m2
=
MoneyUtil
.
getOrderRounding
(
totalAmou
n
t
);
double
roundingMoney
=
0.0
;
if
(
m2
!=
0
)
{
roundingMoney
=
MoneyUtil
.
sub
(
m2
,
MoneyUtil
.
get_ItemDecimals_money
(
totalAmout
));
roundingMoney
=
MoneyUtil
.
sub
(
m2
,
MoneyUtil
.
get_ItemDecimals_money
(
totalAmou
n
t
));
}
if
(
roundingMoney
!=
0.0
)
{
setMoney
(
roundingMoney
);
setMoney
(
MoneyUtil
.
get_ItemDecimals_money
(
roundingMoney
)
);
}
return
MoneyUtil
.
get_ItemDecimals_money
(
MoneyUtil
.
sum
(
totalAmount
,
roundingMoney
));
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/billItem/ServiceChargeItem.java
View file @
1a28da3b
...
...
@@ -11,16 +11,16 @@ import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
*/
public
class
ServiceChargeItem
extends
BillItem
{
public
ServiceChargeItem
(
String
name
,
double
totalAmout
,
int
serviceCharge
)
{
super
(
BillItem
.
SERVERCHARGE_TYPE
,
name
);
updateBillItem
(
totalAmout
,
serviceCharge
);
public
ServiceChargeItem
(
String
name
)
{
super
(
name
);
}
public
void
updateBillItem
(
double
totalAmout
,
int
serviceCharge
)
{
double
serviceAmount
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
totalAmout
,
serviceCharge
).
doubleValue
(),
100
,
GsaCloudApplication
.
functionConfiguration
.
getItemDecimals
());
public
double
updateBillItem
(
double
wholeAmount
,
int
serviceCharge
)
{
int
itemDecimals
=
GsaCloudApplication
.
functionConfiguration
.
getItemDecimalsVaule
();
double
serviceAmount
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
wholeAmount
,
serviceCharge
).
doubleValue
(),
100
,
itemDecimals
);
if
(
serviceAmount
>
0
)
{
setMoney
(
serviceAmount
);
setMoney
(
MoneyUtil
.
get_ItemDecimals_money
(
serviceAmount
)
);
}
return
MoneyUtil
.
get_ItemDecimals_money
(
MoneyUtil
.
sum
(
wholeAmount
,
serviceAmount
));
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
1a28da3b
...
...
@@ -6,10 +6,13 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
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
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.jess.arms.utils.Preconditions
;
import
java.util.ArrayList
;
...
...
@@ -41,7 +44,7 @@ public class ShoppingCart {
/**
* 商品列表
*/
protected
List
<
Commodity
>
orderCommodityList
=
new
ArrayList
<>();
protected
List
<
OrderDetail
>
orderCommodityList
=
new
ArrayList
<>();
/**
* 賬單項列表
*/
...
...
@@ -55,13 +58,13 @@ public class ShoppingCart {
*/
protected
List
<
MultyDiscount
>
multyDiscountList
=
new
ArrayList
<>();
/**
*
所有折扣實體
*
服務費
*/
pr
ivate
MultyDiscount
multyDiscounts
;
pr
otected
Double
serviceCharge
;
/**
*
服務費
*
賬單小數
*/
protected
Integer
serviceCharge
;
protected
Double
rounding
;
/**
* 合計
*/
...
...
@@ -71,14 +74,14 @@ public class ShoppingCart {
*/
protected
double
totalAmount
=
0.0
;
/**
* 將商品添加到購物車
*
* @param commodityList
*/
public
void
addCommodityList
(
List
<
Commodity
>
commodityList
)
{
orderCommodityList
.
addAll
(
commodityList
);
public
void
addCommodityList
(
List
<
OrderDetail
>
commodityList
)
{
getOrderCommodityList
().
addAll
(
commodityList
);
}
/**
...
...
@@ -86,8 +89,8 @@ public class ShoppingCart {
*
* @param commodity
*/
public
void
addCommodity
(
Commodity
commodity
)
{
orderCommodityList
.
add
(
commodity
);
public
void
addCommodity
(
OrderDetail
commodity
)
{
getOrderCommodityList
()
.
add
(
commodity
);
}
/**
...
...
@@ -95,8 +98,8 @@ public class ShoppingCart {
*
* @param commodity
*/
public
void
delCommodity
(
Commodity
commodity
)
{
orderCommodityList
.
remove
(
commodity
);
public
void
delCommodity
(
OrderDetail
commodity
)
{
getOrderCommodityList
()
.
remove
(
commodity
);
}
/**
...
...
@@ -104,14 +107,14 @@ public class ShoppingCart {
*
* @param commodity
*/
public
void
setCommodityNum
(
Commodity
commodity
,
int
number
)
{
for
(
Commodity
c
:
orderCommodityList
)
{
if
(
c
==
commodity
)
{
c
.
setNumber
(
number
);
break
;
}
}
}
//
public void setCommodityNum(Commodity commodity, int number) {
//
for (Commodity c : orderCommodityList) {
//
if (c == commodity) {
//
c.setNumber(number);
//
break;
//
}
//
}
//
}
/**
* 添加賬單項
...
...
@@ -119,47 +122,43 @@ public class ShoppingCart {
* @param billItem
*/
public
void
addBillItem
(
BillItem
billItem
)
{
billItemList
.
add
(
billItem
);
getBillItemList
()
.
add
(
billItem
);
}
/**
*
刪除張
單項
*
添加賬
單項
*
* @param billItem
* @param billItem
s
*/
public
void
delBillItem
(
BillItem
billItem
)
{
billItemList
.
remove
(
billItem
);
public
void
addBillItems
(
List
<
BillItem
>
billItems
)
{
getBillItemList
().
addAll
(
billItems
);
}
/**
*
獲取堂食數據
*
刪除張單項
*
* @param position
* @return
* @param billItem
*/
public
MealCommodity
getMealCommodity
(
int
position
)
{
Preconditions
.
checkElementIndex
(
orderCommodityList
.
size
(),
position
);
return
(
MealCommodity
)
orderCommodityList
.
get
(
position
);
public
void
delBillItem
(
BillItem
billItem
)
{
getBillItemList
().
remove
(
billItem
);
}
/**
*
獲取外賣數據
*
添加折扣
*
* @param position
* @return
* @param multyDiscount
*/
public
MealTakeaway
getMealTakeaway
(
int
position
)
{
Preconditions
.
checkElementIndex
(
orderCommodityList
.
size
(),
position
);
return
(
MealTakeaway
)
orderCommodityList
.
get
(
position
);
public
void
addMultyDiscount
(
MultyDiscount
multyDiscount
)
{
getMultyDiscountList
().
add
(
multyDiscount
);
}
/**
*
添加
折扣
*
刪除
折扣
*
* @param multyDiscount
*/
public
void
add
MultyDiscount
(
MultyDiscount
multyDiscount
)
{
multyDiscountList
.
add
(
multyDiscount
);
public
void
del
MultyDiscount
(
MultyDiscount
multyDiscount
)
{
getMultyDiscountList
().
remove
(
multyDiscount
);
}
/**
...
...
@@ -168,10 +167,10 @@ public class ShoppingCart {
* @param discount
* @return
*/
// public MultyDiscount addNomalDiscount(
Discount discount) {
// multyDiscounts
= new NomalDiscount(discount.getRemark(), multyDiscounts, discount);
// return multyDiscounts
;
//
}
public
MultyDiscount
addNomalDiscount
(
MultyDiscount
multyDiscounts
,
Discount
discount
)
{
MultyDiscount
nomalDiscount
=
new
NomalDiscount
(
discount
.
getRemark
(),
multyDiscounts
,
discount
);
return
nomalDiscount
;
}
/**
* 將會員等級折扣添加到鏈條中
...
...
@@ -179,9 +178,9 @@ public class ShoppingCart {
* @param discount
* @return
*/
public
MultyDiscount
addMemberDiscount
(
MemberInfo
discount
)
{
multyDiscounts
=
new
MemberDiscount
(
discount
.
getMemberName
(),
multyDiscounts
,
discount
);
return
m
ultyDiscounts
;
public
MultyDiscount
addMemberDiscount
(
M
ultyDiscount
multyDiscounts
,
M
emberInfo
discount
)
{
MultyDiscount
memberDiscount
=
new
MemberDiscount
(
discount
.
getMemberName
(),
multyDiscounts
,
discount
);
return
m
emberDiscount
;
}
/**
...
...
@@ -190,9 +189,25 @@ public class ShoppingCart {
* @param discount
* @return
*/
public
MultyDiscount
addCouponDiscount
(
CouponDiscountBean
discount
)
{
multyDiscounts
=
new
CouponDiscount
(
discount
.
getName
(),
multyDiscounts
,
discount
);
return
multyDiscounts
;
public
MultyDiscount
addCouponDiscount
(
MultyDiscount
multyDiscounts
,
CouponDiscountBean
discount
)
{
MultyDiscount
couponDiscount
=
new
CouponDiscount
(
discount
.
getName
(),
multyDiscounts
,
discount
);
return
couponDiscount
;
}
public
MultyDiscount
createNomalDiscount
(
Discount
discount
)
{
MultyDiscount
nomalDiscount
=
new
NomalDiscount
(
discount
.
getRemark
(),
null
,
discount
);
return
nomalDiscount
;
}
public
MultyDiscount
createMemberDiscount
(
MemberInfo
discount
)
{
MultyDiscount
memberDiscount
=
new
MemberDiscount
(
discount
.
getMemberName
(),
null
,
discount
);
return
memberDiscount
;
}
public
MultyDiscount
createCouponDiscount
(
CouponDiscountBean
discount
)
{
MultyDiscount
couponDiscount
=
new
CouponDiscount
(
discount
.
getName
(),
null
,
discount
);
return
couponDiscount
;
}
/**
...
...
@@ -202,13 +217,12 @@ public class ShoppingCart {
MultyDiscount
multyDiscounts
=
null
;
for
(
int
i
=
multyDiscountList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
MultyDiscount
discount
=
multyDiscountList
.
get
(
i
);
// if (discount instanceof NomalDiscount) {
// multyDiscounts = addNomalDiscount(((NomalDiscount) discount).getDiscount());
// } else
if
(
discount
instanceof
MemberDiscount
)
{
multyDiscounts
=
addMemberDiscount
(((
MemberDiscount
)
discount
).
getMemberDiscount
());
if
(
discount
instanceof
NomalDiscount
)
{
multyDiscounts
=
addNomalDiscount
(
multyDiscounts
,
((
NomalDiscount
)
discount
).
getDiscount
());
}
else
if
(
discount
instanceof
MemberDiscount
)
{
multyDiscounts
=
addMemberDiscount
(
multyDiscounts
,
((
MemberDiscount
)
discount
).
getMemberDiscount
());
}
else
if
(
discount
instanceof
CouponDiscount
)
{
multyDiscounts
=
addCouponDiscount
(((
CouponDiscount
)
discount
).
getCouponDiscount
());
multyDiscounts
=
addCouponDiscount
(
multyDiscounts
,
((
CouponDiscount
)
discount
).
getCouponDiscount
());
}
}
if
(
multyDiscounts
!=
null
)
{
...
...
@@ -217,29 +231,56 @@ public class ShoppingCart {
return
money
;
}
private
void
updateBillItemList
()
{
}
public
List
<
OrderDetail
>
getOrderCommodityList
()
{
if
(
orderCommodityList
==
null
)
{
orderCommodityList
=
new
ArrayList
<>();
}
return
orderCommodityList
;
}
public
List
<
BillItem
>
getBillItemList
()
{
if
(
billItemList
==
null
)
{
billItemList
=
new
ArrayList
<>();
}
return
billItemList
;
}
public
List
<
MultyDiscount
>
getMultyDiscountList
()
{
if
(
multyDiscountList
==
null
)
{
multyDiscountList
=
new
ArrayList
<>();
}
return
multyDiscountList
;
}
public
static
void
main
(
String
[]
args
)
{
MultyDiscount
multyDiscounts
=
null
;
ShoppingCart
shoppingCart
=
new
ShoppingCart
();
MemberInfo
memberInfo1
=
new
MemberInfo
();
memberInfo1
.
setMemberName
(
"黃金會員10%"
);
memberInfo1
.
setMemberDiscount
(
10
);
MultyDiscount
memberDiscount
=
shoppingCart
.
addMemberDiscount
(
memberInfo1
);
shoppingCart
.
addMultyDiscount
(
memberDiscount
);
Discount
discount
=
new
Discount
();
discount
.
setRemark
(
"9折"
);
discount
.
setType
(
1
);
discount
.
setDiscount_value
(
10
);
multyDiscounts
=
shoppingCart
.
addNomalDiscount
(
multyDiscounts
,
discount
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
CouponDiscountBean
couponDiscountBean
=
new
CouponDiscountBean
();
couponDiscountBean
.
setCouponTypeName1
(
"魚屋立減50元券"
);
couponDiscountBean
.
setAmount
(
50
);
couponDiscountBean
.
setCouponType
((
byte
)
2
);
MultyDiscount
couponDiscount
=
shoppingCart
.
addCouponDiscount
(
couponDiscountBean
);
shoppingCart
.
addMultyDiscount
(
couponDiscount
);
multyDiscounts
=
shoppingCart
.
addCouponDiscount
(
multyDiscounts
,
couponDiscountBean
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
MemberInfo
memberInfo2
=
new
MemberInfo
();
memberInfo2
.
setMemberName
(
"白金會員20%"
);
memberInfo2
.
setMemberDiscount
(
20
);
MultyDiscount
memberDiscount2
=
shoppingCart
.
addMemberDiscount
(
memberInfo2
);
shoppingCart
.
addMultyDiscount
(
m
emberDiscount2
);
multyDiscounts
=
shoppingCart
.
addMemberDiscount
(
multyDiscounts
,
memberInfo2
);
shoppingCart
.
addMultyDiscount
(
m
ultyDiscounts
);
double
discountAfterMoney
=
shoppingCart
.
calculateLinkedDiscounts
(
200
);
...
...
@@ -252,4 +293,26 @@ public class ShoppingCart {
public
void
pay
(
double
money
)
{
}
public
void
initialization
()
{
if
(
orderCommodityList
!=
null
)
{
orderCommodityList
.
clear
();
// orderCommodityList = null;
}
if
(
billItemList
!=
null
)
{
billItemList
.
clear
();
// billItemList = null;
}
if
(
multyDiscountList
!=
null
)
{
multyDiscountList
.
clear
();
// multyDiscountList = null;
}
serviceCharge
=
null
;
rounding
=
null
;
wholeAmount
=
0.0
;
totalAmount
=
0.0
;
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/Commodity.java
View file @
1a28da3b
...
...
@@ -7,20 +7,19 @@ import lombok.Data;
* @作者: bin
* @創建時間: 2020-10-14
* @更新時間: 2020-10-14
* @描述:商品接口 所有商品都需要實現這
個類
* @描述:商品接口 所有商品都需要實現這
接口
*/
@Data
public
abstract
class
Commodity
{
public
interface
Commodity
{
protected
Long
id
;
protected
String
name
;
protected
String
name2
;
protected
String
name3
;
protected
double
price
;
protected
int
number
;
/**
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
*/
protected
byte
type
;
//
protected Long id;
//
protected String name;
//
protected String name2;
//
protected String name3;
//
protected double price;
//
protected int number;
//
/**
//
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
//
*/
//
protected byte type;
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
commodity
;
import
com.gingersoft.gsa.cloud.base.order.OrderItem
;
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
;
...
...
@@ -25,8 +24,9 @@ import lombok.ToString;
@Getter
@Setter
@ToString
public
class
MealCommodity
extends
Commodity
implements
OrderItem
{
public
class
MealCommodity
implements
Commodity
{
private
static
final
long
serialVersionUID
=
-
958791295551999853L
;
/**
* 是否选择
* 0 未选中
...
...
@@ -105,6 +105,10 @@ public class MealCommodity extends Commodity implements OrderItem {
*/
private
int
itemType
;
/**
* ID
*/
private
long
id
;
/**
* 父级ID
*/
private
long
parentId
;
...
...
@@ -113,14 +117,14 @@ public class MealCommodity extends Commodity implements OrderItem {
*/
private
long
orderId
;
/**
* 商品id
*/
private
long
productId
;
/**
* 商品名称
*/
private
String
productName
;
/**
* 商品id
*/
private
long
productId
;
/**
* 父级商品ID
*/
private
long
parentProductId
;
...
...
@@ -129,6 +133,10 @@ public class MealCommodity extends Commodity implements OrderItem {
*/
private
long
topId
;
/**
* 總價格(已經x數量)
*/
private
double
price
=
0
;
/**
* 單價
*/
private
double
unit_price
=
0
;
...
...
@@ -148,10 +156,10 @@ public class MealCommodity extends Commodity implements OrderItem {
* 已經使用優惠卷卷號列表逗號分割
*/
private
String
userCouponNo
;
//
/**
//
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
//
*/
//
private byte type;
/**
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
*/
private
byte
type
;
/**
*
*/
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealTakeaway.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
commodity
;
import
com.gingersoft.gsa.cloud.base.order.OrderItem
;
/**
* @author : bin
* @create date: 2020-10-15
* @update date: 2020-10-15
* @description:外賣食品
*/
public
class
MealTakeaway
extends
MealCommodity
implements
OrderItem
{
public
class
MealTakeaway
extends
OrderDetail
{
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/
bean
/OrderDetail.java
→
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/
commodity
/OrderDetail.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
;
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.utils.MoneyUtil
;
...
...
@@ -25,7 +26,7 @@ import lombok.Data;
* 描述:訂單實體類
*/
@Data
public
class
OrderDetail
implements
Serializable
{
public
class
OrderDetail
implements
Commodity
,
Serializable
{
private
static
final
long
serialVersionUID
=
-
958791295551999853L
;
/**
* 是否选择
...
...
@@ -427,7 +428,7 @@ public class OrderDetail implements Serializable {
}
public
boolean
isModify
()
{
if
(!
isNew
&&
modifyBeforeNumber
!=
0
&&
number
!=
modifyBeforeNumber
)
{
if
(!
isNew
&&
modifyBeforeNumber
!=
0
&&
number
!=
modifyBeforeNumber
)
{
isModify
=
true
;
}
else
{
isModify
=
false
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/MemberDiscount.java
View file @
1a28da3b
...
...
@@ -28,12 +28,10 @@ public class MemberDiscount extends MultyDiscount {
@Override
public
double
calculate
(
double
money
)
{
if
(
memberDiscount
!=
null
)
{
discountMoney
=
calculationMemberDiscount
(
memberDiscount
.
getMemberDiscount
(),
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 @
1a28da3b
...
...
@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.order.order;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -16,11 +17,19 @@ import lombok.Setter;
@Setter
public
abstract
class
BaseOrder
{
public
BaseOrder
()
{
shoppingCart
=
ShoppingCart
.
getInstance
();
}
/**
* 訂單類型
*
* @see FoodSummaryConstans#MEAL_MENU
* @see FoodSummaryConstans#TAKEAWAY_TYPE
*/
public
volatile
static
int
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
/**
* 訂單ID
*/
protected
long
id
=
-
1
;
...
...
@@ -34,4 +43,10 @@ public abstract class BaseOrder {
protected
ShoppingCart
shoppingCart
;
protected
void
initialization
()
{
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
id
=
-
1
;
orderNo
=
null
;
shoppingCart
.
initialization
();
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/DoshokuOrder.java
View file @
1a28da3b
...
...
@@ -4,8 +4,10 @@ import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
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.table.bean.TableBean
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Getter
;
...
...
@@ -63,4 +65,48 @@ public class DoshokuOrder extends BaseOrder implements Member {
* true#修改訂單
*/
private
boolean
modifyOrder
=
false
;
/**
* 添加需要刪除的食品
* @param request
*/
public
void
addDeleteMealOrder
(
DeleteOrderRequest
request
){
getDeleteMealOrders
().
add
(
request
);
}
/**
* 取消需要刪除的食品
* @param request
*/
public
void
delDeleteMealOrder
(
DeleteOrderRequest
request
){
getDeleteMealOrders
().
remove
(
request
);
}
public
List
<
DeleteOrderRequest
>
getDeleteMealOrders
()
{
if
(
deleteMealOrders
==
null
)
{
deleteMealOrders
=
new
ArrayList
<>();
}
return
deleteMealOrders
;
}
@Override
public
void
initialization
()
{
if
(
deleteMealOrders
!=
null
)
{
deleteMealOrders
.
clear
();
deleteMealOrders
=
null
;
}
if
(
orderPlaced
!=
null
)
{
orderPlaced
=
null
;
}
if
(
openTableInfo
!=
null
)
{
openTableInfo
=
null
;
}
if
(
memberInfo
!=
null
)
{
memberInfo
=
null
;
}
memberUpdateStatus
=
null
;
modifyOrder
=
false
;
super
.
initialization
();
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/OrderFactory.java
0 → 100644
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
order
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
/**
* @author : bin
* @create date: 2020-10-23
* @update date: 2020-10-23
* @description:訂單工廠類
*/
public
class
OrderFactory
{
public
static
BaseOrder
createOrder
(
int
orderType
)
{
if
(
orderType
==
FoodSummaryConstans
.
RESTAURANT_MODE
)
{
return
DoshokuOrder
.
getInstance
();
}
else
if
(
orderType
==
FoodSummaryConstans
.
TAKEAWAY_TYPE
)
{
return
TakeawayOrder
.
getInstance
();
}
else
{
return
DoshokuOrder
.
getInstance
();
}
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/TakeawayOrder.java
View file @
1a28da3b
...
...
@@ -25,4 +25,9 @@ public class TakeawayOrder extends BaseOrder {
super
();
}
@Override
public
void
initialization
()
{
super
.
initialization
();
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
View file @
1a28da3b
...
...
@@ -8,8 +8,8 @@ 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.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.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.table.bean.TableBean
;
...
...
@@ -124,7 +124,7 @@ public class PrintBill extends PrinterRoot {
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoneyList
().
size
()
>
0
)
{
for
(
BillOrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoneyList
())
{
billingBeans
.
add
(
new
BillingBean
(
item
.
get
Titl
e
(),
item
.
getMoney
()));
billingBeans
.
add
(
new
BillingBean
(
item
.
get
Nam
e
(),
item
.
getMoney
()));
}
}
layout
.
addView
(
getDiningBillInfo
(
mContext
,
billingBeans
));
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
View file @
1a28da3b
...
...
@@ -8,7 +8,7 @@ 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.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
View file @
1a28da3b
...
...
@@ -8,7 +8,7 @@ import android.widget.LinearLayout;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
View file @
1a28da3b
...
...
@@ -11,7 +11,7 @@ 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.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintServe.java
View file @
1a28da3b
...
...
@@ -5,7 +5,7 @@ import android.graphics.Bitmap;
import
android.view.Gravity
;
import
android.widget.LinearLayout
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
View file @
1a28da3b
...
...
@@ -6,8 +6,8 @@ import android.view.Gravity;
import
android.widget.LinearLayout
;
import
com.gingersoft.gsa.cloud.base.common.bean.BillingBean
;
import
com.gingersoft.gsa.cloud.base.order.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.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.table.bean.TableBean
;
...
...
@@ -94,7 +94,7 @@ public class PrintSlip extends PrinterRoot {
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoneyList
().
size
()
>
0
)
{
for
(
BillOrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoneyList
())
{
billingBeans
.
add
(
new
BillingBean
(
item
.
get
Titl
e
(),
item
.
getMoney
()));
billingBeans
.
add
(
new
BillingBean
(
item
.
get
Nam
e
(),
item
.
getMoney
()));
}
}
layout
.
addView
(
getDiningBillInfo
(
mContext
,
billingBeans
));
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintTest.java
View file @
1a28da3b
...
...
@@ -7,7 +7,7 @@ import android.view.View;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
1a28da3b
...
...
@@ -30,8 +30,8 @@ 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.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.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.table.bean.TableBean
;
...
...
@@ -868,7 +868,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
//添加其他金額項
if
(
MyOrderManage
.
getInstance
().
getOrderMoneyList
().
size
()
>
0
)
{
for
(
BillOrderMoney
item
:
MyOrderManage
.
getInstance
().
getOrderMoneyList
())
{
amountStr
.
append
(
getPLable
(
item
.
get
Titl
e
()
+
" "
+
item
.
getMoney
(),
HTML_PRINT_GRAVITY_RIGHT
));
amountStr
.
append
(
getPLable
(
item
.
get
Nam
e
()
+
" "
+
item
.
getMoney
(),
HTML_PRINT_GRAVITY_RIGHT
));
}
}
amountStr
.
append
(
getLine
(
21
,
HTML_PRINT_GRAVITY_RIGHT
));
...
...
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintTestActivity.java
View file @
1a28da3b
...
...
@@ -10,7 +10,7 @@ import androidx.appcompat.app.AppCompatActivity;
import
com.epson.epos2.printer.Printer
;
import
com.epson.epos2.printer.PrinterStatusInfo
;
import
com.epson.epos2.printer.ReceiveListener
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
...
...
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableBean.java
View file @
1a28da3b
...
...
@@ -101,7 +101,7 @@ public class TableBean {
private
String
createBy
;
private
String
qrCodeImg
;
private
int
posTableId
;
private
long
serviceCharge
;
private
int
serviceCharge
;
private
long
memberId
;
/**
* 未開檯 0
...
...
@@ -265,11 +265,11 @@ public class TableBean {
this
.
posTableId
=
posTableId
;
}
public
long
getServiceCharge
()
{
public
int
getServiceCharge
()
{
return
serviceCharge
;
}
public
void
setServiceCharge
(
long
serviceCharge
)
{
public
void
setServiceCharge
(
int
serviceCharge
)
{
this
.
serviceCharge
=
serviceCharge
;
}
...
...
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableExtBean.java
View file @
1a28da3b
...
...
@@ -44,7 +44,7 @@ public class TableExtBean {
private
String
tableName
;
private
int
seatCount
;
private
long
serviceCharge
;
private
int
serviceCharge
;
private
long
updateTime
;
private
long
createTime
;
...
...
@@ -129,11 +129,11 @@ public class TableExtBean {
this
.
seatCount
=
seatCount
;
}
public
long
getServiceCharge
()
{
public
int
getServiceCharge
()
{
return
serviceCharge
;
}
public
void
setServiceCharge
(
long
serviceCharge
)
{
public
void
setServiceCharge
(
int
serviceCharge
)
{
this
.
serviceCharge
=
serviceCharge
;
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
View file @
1a28da3b
...
...
@@ -4,7 +4,7 @@ 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.
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.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract
;
...
...
@@ -63,10 +63,11 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
}
private
void
saveCreateTime
(
long
createTime
)
{
if
(
OpenTableManage
.
getDefault
().
getTableBean
()
==
null
)
{
OpenTableManage
.
getDefault
().
setTableBean
(
new
TableBean
.
DataBean
());
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
if
(
doshokuOrder
==
null
)
{
doshokuOrder
.
setOpenTableInfo
(
new
TableBean
.
DataBean
());
}
OpenTableManage
.
getDefault
().
getTableBean
().
setCreateTime
(
TimeUtils
.
getTime
(
createTime
,
TimeUtils
.
DEFAULT_DATE_FORMAT
));
doshokuOrder
.
getOpenTableInfo
().
setCreateTime
(
TimeUtils
.
getTime
(
createTime
,
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
@Override
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/cart/DoshokuCart.java
View file @
1a28da3b
...
...
@@ -2,7 +2,7 @@ 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.
bean
.OrderDetail
;
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
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/utils/OrderAssemblyUtil.java
View file @
1a28da3b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
utils
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
1a28da3b
...
...
@@ -8,30 +8,28 @@ import android.widget.TextView;
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.order.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.RoundingItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.Commodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.MealCommodity
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.OrderFactory
;
import
com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.
table.R
;
import
com.gingersoft.gsa.cloud.
constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
...
...
@@ -46,7 +44,6 @@ import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.jess.arms.utils.PermissionUtil
;
import
com.jess.arms.utils.RxLifecycleUtils
;
...
...
@@ -59,14 +56,17 @@ import java.util.Map;
import
javax.inject.Inject
;
import
io.reactivex.Observable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Function
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
import
okhttp3.RequestBody
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
OrderDetail
.
DISCOUNT_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
commodity
.
OrderDetail
.
DISCOUNT_TYPE
;
/**
...
...
@@ -96,27 +96,24 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//订单数据管理类
protected
MyOrderManage
myOrderManage
;
protected
OpenTableManage
openTableManage
;
//
protected OpenTableManage openTableManage;
//訂單食品適配器
protected
SelectMealAdapter
mSelectMealAdapter
;
protected
List
<
OrderDetail
>
mOrderFoodList
;
//
protected List<OrderDetail> mOrderFoodList;
//整單相關金額適配器
protected
OrderMoneyAdapter
mOrderMoneyAdapter
;
protected
List
<
BillOrderMoney
>
mOrderMoneyList
;
//
protected List<BillOrderMoney> mOrderMoneyList;
protected
OrderDetail
mCurrentOrderDetailBean
;
/**
* 訂單類型
*/
protected
int
orderType
;
//選中操作的食品下標
protected
int
orderSelectPosition
=
-
1
;
//币種
public
String
cashStr
=
"$"
;
public
String
serviceChargeStr
=
"服務費"
;
protected
String
cashStr
=
"$"
;
protected
String
serviceChargeStr
=
"服務費"
;
protected
String
roundingStr
=
"賬單小數"
;
private
final
String
noFoodDeliveryTip
=
"賬單沒有食品,是否開台?"
;
...
...
@@ -125,6 +122,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/
protected
BaseOrder
mOrder
;
/**
* 餐檯信息
*/
public
TableBean
.
DataBean
mTableInfo
;
/**
* 堂食訂單信息
*/
protected
DoshokuOrder
mDoshokuOrder
;
...
...
@@ -139,21 +140,22 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
/**
* 美食列表
*/
protected
List
<
Commodity
>
mOrderMealList
;
protected
List
<
OrderDetail
>
mOrderMealList
;
/**
* 賬單項列表
*/
protected
List
<
BillItem
>
mBillItemList
;
public
abstract
void
createOrder
(
boolean
isPrint
,
Class
afterToActivity
);
public
abstract
void
addOrderFood
(
boolean
isPrint
,
Class
afterToActivity
);
void
saveCreateTime
(
long
createTime
)
{
if
(
OpenTableManage
.
getDefault
().
getTableBean
()
==
null
)
{
OpenTableManage
.
getDefault
().
setTableBean
(
new
TableBean
.
DataBean
());
if
(
mDoshokuOrder
==
null
)
{
mDoshokuOrder
.
setOpenTableInfo
(
new
TableBean
.
DataBean
());
}
OpenTableManage
.
getDefault
().
getTableBean
().
setCreateTime
(
TimeUtils
.
getTime
(
createTime
,
TimeUtils
.
DEFAULT_DATE_FORMAT
));
mDoshokuOrder
.
getOpenTableInfo
().
setCreateTime
(
TimeUtils
.
getTime
(
createTime
,
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
...
...
@@ -164,11 +166,8 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
this
.
mBaseOrderPresenter
=
this
;
this
.
IActivity
=
(
Activity
)
mRootView
;
this
.
openTableManage
=
OpenTableManage
.
getDefault
();
// this.openTableManage = mDoshokuOrder.getOpenTableInfo
();
this
.
myOrderManage
=
MyOrderManage
.
getInstance
();
this
.
mOrderFoodList
=
myOrderManage
.
getOrderFoodList
();
this
.
mOrderMoneyList
=
myOrderManage
.
getOrderMoneyList
();
this
.
orderType
=
myOrderManage
.
getOrderType
();
if
(
IActivity
instanceof
OrderContentActivity
)
{
mOrderContentActivity
=
(
OrderContentActivity
)
IActivity
;
...
...
@@ -177,13 +176,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mMealStandPresenter
=
(
MealStandPresenter
)
this
;
}
/****************************************************/
if
(
IActivity
instanceof
OrderContentActivity
)
{
mOrder
=
DoshokuOrder
.
getInstance
();
mOrder
=
OrderFactory
.
createOrder
(
FoodSummaryConstans
.
RESTAURANT_MODE
);
if
(
BaseOrder
.
orderType
==
FoodSummaryConstans
.
RESTAURANT_MODE
)
{
mDoshokuOrder
=
(
DoshokuOrder
)
mOrder
;
mTableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
}
else
{
mOrder
=
TakeawayOrder
.
getInstance
();
mTakeawayOrder
=
(
TakeawayOrder
)
mOrder
;
}
mShoppingCart
=
mOrder
.
getShoppingCart
();
...
...
@@ -195,80 +193,159 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
resetSelected
();
initOrderAdapter
();
initItemClickListener
();
// if (!containsTableService()) {
// addTableServiceAmount();
// }
// if (this instanceof MealStandPresenter) {
// addSentOrderDiscount();
// addOrderRounding();
// //設置賬單總金額
// myOrderManage.setTotalAmount(getTotalAmount());
// } else {
// updateBillOrderItem();
updateBillInfo
();
// }
}
if
(!
containsTableService
())
{
addTableServiceAmount
();
}
if
(
this
instanceof
MealStandPresenter
)
{
addSentOrderDiscount
();
addOrderRounding
();
//設置賬單總金額
myOrderManage
.
setTotalAmount
(
getTotalAmount
());
}
else
{
updateBillOrderItem
();
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mApplication
=
null
;
}
/**
* 更新賬單信息
* 1、更新食品折扣
* 2、更新服務費項
* 3、更新賬單折扣項{@link NomalDiscount}
* 4、更新賬單小數項
* 4、總金額
* 1、更新合計
* 2、更新食品折扣
* 3、更新服務費項
* 4、更新賬單折扣項{@link NomalDiscount}
* 5、更新賬單小數項
* 6、總金額
*/
protected
void
updateBillInfo
()
{
if
(!
containsTableService
())
{
addTableServiceAmount
();
}
updateBillItem
();
mShoppingCart
.
setTotalAmount
(
getTotalAmount
());
}
protected
void
updateBillItem
()
{
public
void
updateBillInfo
()
{
double
wholeAmount
=
getFoodTotal
();
double
discountableMoney
=
getDiscountableFoodTotal2
();
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
instanceof
ServiceChargeItem
)
{
//更新服務費項
((
ServiceChargeItem
)
item
).
updateBillItem
(
wholeAmount
,
mShoppingCart
.
getServiceCharge
());
}
else
if
(
item
instanceof
DiscountItem
)
{
//調用折扣鏈進行計算
mShoppingCart
.
calculateLinkedDiscounts
(
discountableMoney
);
}
else
if
(
item
instanceof
RoundingItem
)
{
//更新賬單小數項
((
RoundingItem
)
item
).
updateBillItem
(
wholeAmount
);
}
}
//更新合計
mShoppingCart
.
setWholeAmount
(
wholeAmount
);
Observable
.
just
(
wholeAmount
)
.
subscribeOn
(
Schedulers
.
computation
())
/**
* 計算服務費
*/
.
map
(
new
Function
<
Double
,
Double
>()
{
@Override
public
Double
apply
(
Double
totalAmount
)
throws
Exception
{
ServiceChargeItem
serviceChargeItem
=
(
ServiceChargeItem
)
findBillItemByClass
(
ServiceChargeItem
.
class
);
int
serviceCharge
=
mDoshokuOrder
.
getOpenTableInfo
().
getServiceCharge
();
if
(
serviceChargeItem
!=
null
)
{
totalAmount
=
serviceChargeItem
.
updateBillItem
(
totalAmount
,
serviceCharge
);
if
(
Double
.
doubleToLongBits
(
totalAmount
)
!=
0.0
)
{
//更新服務費
mShoppingCart
.
setServiceCharge
(
totalAmount
);
}
else
{
//刪除服務費
mBillItemList
.
remove
(
serviceChargeItem
);
mShoppingCart
.
setServiceCharge
(
null
);
}
}
else
{
if
(
serviceCharge
!=
0
)
{
ServiceChargeItem
item
=
new
ServiceChargeItem
(
serviceChargeStr
);
totalAmount
=
item
.
updateBillItem
(
totalAmount
,
serviceCharge
);
if
(
Double
.
doubleToLongBits
(
totalAmount
)
!=
0.0
)
{
mBillItemList
.
add
(
item
);
mShoppingCart
.
setServiceCharge
(
item
.
getMoney
());
}
}
}
return
totalAmount
;
}
})
/**
* 計算折扣
*/
.
map
(
new
Function
<
Double
,
Double
>()
{
@Override
public
Double
apply
(
Double
totalAmount
)
throws
Exception
{
double
discountableMoney
=
getDiscountableFoodTotal2
();
boolean
calculatedDiscount
=
false
;
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
instanceof
DiscountItem
&&
calculatedDiscount
==
false
)
{
calculatedDiscount
=
true
;
//調用折扣鏈進行計算
totalAmount
=
mShoppingCart
.
calculateLinkedDiscounts
(
discountableMoney
);
}
}
return
totalAmount
;
}
})
/**
* 計算賬單小數
*/
.
map
(
new
Function
<
Double
,
Double
>()
{
@Override
public
Double
apply
(
Double
totalAmount
)
throws
Exception
{
double
roundingTotalAmount
=
getTotalAmountFilterByType
(
BillItem
.
ROUNDING_TYPE
);
RoundingItem
roundingItem
=
(
RoundingItem
)
findBillItemByClass
(
RoundingItem
.
class
);
if
(
roundingItem
!=
null
)
{
totalAmount
=
roundingItem
.
updateBillItem
(
roundingTotalAmount
);
if
(
Double
.
doubleToLongBits
(
totalAmount
)
!=
0.0
)
{
//更新賬單小數
mShoppingCart
.
setRounding
(
totalAmount
);
}
else
{
//刪除賬單小數
mBillItemList
.
remove
(
roundingItem
);
mShoppingCart
.
setRounding
(
null
);
}
}
else
{
RoundingItem
item
=
new
RoundingItem
(
roundingStr
);
totalAmount
=
item
.
updateBillItem
(
roundingTotalAmount
);
if
(
Double
.
doubleToLongBits
(
totalAmount
)
!=
0.0
)
{
mBillItemList
.
add
(
item
);
mShoppingCart
.
setRounding
(
item
.
getMoney
());
}
}
return
totalAmount
;
}
})
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
new
Consumer
<
Double
>()
{
@Override
public
void
accept
(
Double
totalAmount
)
throws
Exception
{
//更新總金額
mShoppingCart
.
setTotalAmount
(
totalAmount
);
//刷新賬單Item數據
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
});
}
private
boolean
containsTableService
()
{
for
(
int
i
=
mOrderMoneyList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
BillOrderMoney
billOrderMoney
=
mOrderMoneyList
.
get
(
i
);
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
SERVERCHARGE_TYPE
)
{
return
true
;
/**
* 查詢對應的BillItem類是否存在
*
* @param cla
* @return
*/
private
BillItem
findBillItemByClass
(
Class
<?>
cla
)
{
BillItem
billItem
=
null
;
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
.
getClass
().
equals
(
cla
))
{
billItem
=
item
;
break
;
}
}
return
false
;
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mApplication
=
null
;
return
billItem
;
}
private
void
initOrderAdapter
()
{
if
(
mSelectMealAdapter
==
null
)
{
mSelectMealAdapter
=
new
SelectMealAdapter
(
IActivity
,
mOrder
Food
List
,
this
);
mSelectMealAdapter
=
new
SelectMealAdapter
(
IActivity
,
mOrder
Meal
List
,
this
);
//設置子父級下標
mSelectMealAdapter
.
setIndex
();
}
if
(
mOrderMoneyAdapter
==
null
)
{
mOrderMoneyAdapter
=
new
OrderMoneyAdapter
(
IActivity
,
m
OrderMoney
List
,
cashStr
);
mOrderMoneyAdapter
=
new
OrderMoneyAdapter
(
IActivity
,
m
BillItem
List
,
cashStr
);
}
}
...
...
@@ -295,7 +372,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mOrderContentActivity
.
initOrderDetail
();
}
//更新折扣
updateBill
OrderItem
();
updateBill
Info
();
}
@Override
...
...
@@ -306,7 +383,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mOrderContentActivity
.
initOrderDetail
();
}
//更新折扣
updateBill
OrderItem
();
updateBill
Info
();
}
@Override
...
...
@@ -350,7 +427,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mMealStandPresenter
.
updateMealSoldoutCtrData
();
mMealStandPresenter
.
updateOrderFoodNumber
();
}
updateBill
OrderItem
();
updateBill
Info
();
mSelectMealAdapter
.
notifyDataSetChanged
();
}
...
...
@@ -441,18 +518,18 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
/**
* 更新賬單金額
*/
public
void
updateBillOrderItem
()
{
if
(!
containsTableService
())
{
addTableServiceAmount
();
}
updateFoodDiscount
();
updateTableServiceAmount
();
updateOrderDiscount
();
updateMemberDiscount
();
updateMemberCoupon
();
updateOrderRounding
();
myOrderManage
.
setTotalAmount
(
getTotalAmount
());
}
//
public void updateBillOrderItem() {
//
if (!containsTableService()) {
//
addTableServiceAmount();
//
}
//
updateFoodDiscount();
//
updateTableServiceAmount();
//
updateOrderDiscount();
//
updateMemberDiscount();
//
updateMemberCoupon();
//
updateOrderRounding();
//
myOrderManage.setTotalAmount(getTotalAmount());
//
}
/**
* 添加已送單折扣
...
...
@@ -490,148 +567,148 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
// }
// }
// }
protected
void
addSentOrderDiscount
()
{
OrderBean
orderBean
=
myOrderManage
.
getOrderBean
();
if
(
orderBean
!=
null
)
{
List
<
OrderDiscount
.
Respose
>
discountDetails
=
orderBean
.
getDiscountDetails
();
if
(
discountDetails
!=
null
)
{
for
(
int
i
=
0
;
i
<
discountDetails
.
size
();
i
++)
{
OrderDiscount
.
Respose
orderDiscount
=
discountDetails
.
get
(
i
);
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
());
addOrderDiscount
(
true
,
discount
,
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
continue
;
}
if
(
orderDiscount
.
getDiscountAmount
()
!=
0
)
{
//金額折扣
discount
.
setType
(
0
);
discount
.
setAmount
(
orderDiscount
.
getDiscountAmount
());
addOrderDiscount
(
true
,
discount
,
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
continue
;
}
}
else
if
(
orderDiscount
.
getType
()
==
OrderDiscount
.
MEMBER_DISCOUNT
)
{
//會員折扣
MemberInfo
memberInfo
=
myOrderManage
.
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
addMemberDiscount
(
memberInfo
.
getId
(),
orderDiscount
.
getDiscountValue
(),
memberInfo
.
getMemberName
(),
memberInfo
.
getLevelName1
(),
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
}
}
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
());
MemberInfo
memberInfo
=
myOrderManage
.
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
addCouponDiscount
(
couponDiscount
,
myOrderManage
.
getMemberInfo
().
getId
(),
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
}
}
}
}
}
}
//
protected void addSentOrderDiscount() {
//
OrderBean orderBean = myOrderManage.getOrderBean();
//
if (orderBean != null) {
//
List<OrderDiscount.Respose> discountDetails = orderBean.getDiscountDetails();
//
if (discountDetails != null) {
//
for (int i = 0; i < discountDetails.size(); i++) {
//
OrderDiscount.Respose orderDiscount = discountDetails.get(i);
//
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());
//
addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
//
continue;
//
}
//
if (orderDiscount.getDiscountAmount() != 0) {
//
//金額折扣
//
discount.setType(0);
//
discount.setAmount(orderDiscount.getDiscountAmount());
//
addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
//
continue;
//
}
//
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//
//會員折扣
//
MemberInfo memberInfo = myOrderManage.getMemberInfo();
//
if (memberInfo != null) {
//
addMemberDiscount(memberInfo.getId(), orderDiscount.getDiscountValue(), memberInfo.getMemberName(), memberInfo.getLevelName1(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
//
}
//
} 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());
//
//
MemberInfo memberInfo = myOrderManage.getMemberInfo();
//
if (memberInfo != null) {
//
addCouponDiscount(couponDiscount, myOrderManage.getMemberInfo().getId(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
//
}
//
}
//
}
//
}
//
}
//
}
/**
* 添加餐檯服務費
*/
protected
void
addTableServiceAmount
()
{
TableBean
.
DataBean
dataBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
if
(
dataBean
==
null
)
{
return
;
}
double
serviceAmount
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
getScAbleFoodTotal
(),
dataBean
.
getServiceCharge
()).
doubleValue
(),
100
,
MoneyUtil
.
ItemDecimals
);
if
(
serviceAmount
>
0
)
{
BillOrderMoney
orderMoney
=
new
BillOrderMoney
();
orderMoney
.
setMoney
(
MoneyUtil
.
get_ItemDecimals_money
(
serviceAmount
));
orderMoney
.
setTitle
(
dataBean
.
getServiceCharge
()
+
"%"
+
serviceChargeStr
);
orderMoney
.
setStatus
(
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
orderMoney
.
setType
(
BillOrderMoney
.
SERVERCHARGE_TYPE
);
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
BillOrderMoney
discountBill
=
getBillOrderItemByType
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
);
if
(
discountBill
!=
null
)
{
mOrderMoneyList
.
add
(
0
,
orderMoney
);
}
else
{
mOrderMoneyList
.
add
(
orderMoney
);
}
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
}
//
protected void addTableServiceAmount() {
// TableBean.DataBean dataBean = mDoshokuOrder.getOpenTableInfo
().getTableBean();
//
if (dataBean == null) {
//
return;
//
}
//
double serviceAmount = MoneyUtil.divide(MoneyUtil.multiply(getScAbleFoodTotal(), dataBean.getServiceCharge()).doubleValue(), 100, MoneyUtil.ItemDecimals);
//
if (serviceAmount > 0) {
//
BillOrderMoney orderMoney = new BillOrderMoney();
//
orderMoney.setMoney(MoneyUtil.get_ItemDecimals_money(serviceAmount));
//
orderMoney.setTitle(dataBean.getServiceCharge() + "%" + serviceChargeStr);
//
orderMoney.setStatus(BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
//
orderMoney.setType(BillOrderMoney.SERVERCHARGE_TYPE);
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
//
BillOrderMoney discountBill = getBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
//
if (discountBill != null) {
//
mOrderMoneyList.add(0, orderMoney);
//
} else {
//
mOrderMoneyList.add(orderMoney);
//
}
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
}
//
}
/**
* 更新服务费
*/
private
void
updateTableServiceAmount
()
{
BillOrderMoney
billOrderMoney
=
getBillOrderItemByType
(
BillOrderMoney
.
SERVERCHARGE_TYPE
);
if
(
billOrderMoney
!=
null
)
{
TableBean
.
DataBean
dataBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
// double serviceAmount = getTotalAmountFilterByType(BillOrderMoney.SERVERCHARGE_TYPE, BillOrderMoney.DISCOUNT_TYPE, BillOrderMoney.ROUNDING_TYPE) * dataBean.getServiceCharge() / 100;
double
serviceAmount
=
getScAbleFoodTotal
()
*
dataBean
.
getServiceCharge
()
/
100
;
if
(
serviceAmount
>
0
)
{
billOrderMoney
.
setMoney
(
MoneyUtil
.
get_ItemDecimals_money
(
serviceAmount
));
}
else
{
mOrderMoneyList
.
remove
(
billOrderMoney
);
}
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
}
//
private void updateTableServiceAmount() {
//
BillOrderMoney billOrderMoney = getBillOrderItemByType(BillOrderMoney.SERVERCHARGE_TYPE);
//
if (billOrderMoney != null) {
// TableBean.DataBean dataBean = mDoshokuOrder.getOpenTableInfo
().getTableBean();
//
//
double serviceAmount = getTotalAmountFilterByType(BillOrderMoney.SERVERCHARGE_TYPE, BillOrderMoney.DISCOUNT_TYPE, BillOrderMoney.ROUNDING_TYPE) * dataBean.getServiceCharge() / 100;
//
double serviceAmount = getScAbleFoodTotal() * dataBean.getServiceCharge() / 100;
//
if (serviceAmount > 0) {
//
billOrderMoney.setMoney(MoneyUtil.get_ItemDecimals_money(serviceAmount));
//
} else {
//
mOrderMoneyList.remove(billOrderMoney);
//
}
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
}
//
}
/**
* 添加賬單折扣
*
* @param discount
*/
protected
void
addOrderDiscount
(
boolean
init
,
Discount
discount
,
int
status
)
{
removeBillOrderItemByType
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
);
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
,
true
);
double
discountPrice
=
OrderDiscount
.
calculationDiscount
(
discount
,
totalMoney
);
BillOrderMoney
orderMoney
=
new
BillOrderMoney
();
orderMoney
.
setMoney
(
discountPrice
);
orderMoney
.
setTitle
(
discount
.
getRemark
());
orderMoney
.
setType
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
);
if
(
status
==
0
)
{
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_hint_color
));
}
else
{
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
}
orderMoney
.
setStatus
(
status
);
orderMoney
.
setDiscount
(
discount
);
mOrderMoneyList
.
add
(
orderMoney
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
//更新總金額
if
(!
init
&&
mOrderContentActivity
!=
null
)
{
//先更新下賬單小數,再計算總金額才不會錯
updateOrderRounding
();
//更新合計 總金額信息
mOrderContentActivity
.
initOrderDetail
();
}
}
//
protected void addOrderDiscount(boolean init, Discount discount, int status) {
//
//
removeBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
//
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.ORDER_DISCOUNT_TYPE, true);
//
double discountPrice = OrderDiscount.calculationDiscount(discount, totalMoney);
//
BillOrderMoney orderMoney = new BillOrderMoney();
//
orderMoney.setMoney(discountPrice);
//
orderMoney.setTitle(discount.getRemark());
//
orderMoney.setType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
//
if (status == 0) {
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_hint_color));
//
} else {
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
//
}
//
orderMoney.setStatus(status);
//
orderMoney.setDiscount(discount);
//
//
mOrderMoneyList.add(orderMoney);
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
//
//更新總金額
//
if (!init && mOrderContentActivity != null) {
//
//先更新下賬單小數,再計算總金額才不會錯
//
updateOrderRounding();
//
//更新合計 總金額信息
//
mOrderContentActivity.initOrderDetail();
//
}
//
}
/**
* 更新整單折扣
*/
protected
void
updateOrderDiscount
()
{
BillOrderMoney
orderMoney
=
getBillOrderItemByType
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
);
if
(
orderMoney
!=
null
)
{
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
,
false
);
double
discountPrice
=
OrderDiscount
.
calculationDiscount
(
orderMoney
.
getDiscount
(),
totalMoney
);
orderMoney
.
setMoney
(
discountPrice
);
}
}
//
protected void updateOrderDiscount() {
//
BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
//
if (orderMoney != null) {
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.ORDER_DISCOUNT_TYPE, false);
//
double discountPrice = OrderDiscount.calculationDiscount(orderMoney.getDiscount(), totalMoney);
//
orderMoney.setMoney(discountPrice);
//
}
//
}
/**
* 添加会员折扣
...
...
@@ -641,45 +718,45 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @param memberName
* @param levelName
*/
public
void
addMemberDiscount
(
long
memberId
,
int
discountRate
,
String
memberName
,
String
levelName
,
int
status
)
{
removeBillOrderItemByType
(
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
);
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
,
true
);
if
(!
TextUtils
.
isEmpty
(
levelName
))
{
memberName
=
memberName
+
"("
+
levelName
+
")"
;
}
double
discountPrice
=
OrderDiscount
.
calculationMemberDiscount
(
discountRate
,
totalMoney
);
BillOrderMoney
orderMoney
=
new
BillOrderMoney
();
orderMoney
.
setMoney
(
discountPrice
);
orderMoney
.
setTitle
(
memberName
+
discountRate
+
"%"
);
orderMoney
.
setType
(
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
);
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
orderMoney
.
setStatus
(
status
);
//折扣
Discount
discount
=
new
Discount
();
discount
.
setId
(
memberId
);
discount
.
setMemberId
(
memberId
);
discount
.
setType
(
1
);
discount
.
setRemark
(
memberName
+
discountRate
+
"%"
);
discount
.
setDiscount_value
(
discountRate
);
orderMoney
.
setDiscount
(
discount
);
mOrderMoneyList
.
add
(
orderMoney
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
//
public void addMemberDiscount(long memberId, int discountRate, String memberName, String levelName, int status) {
//
//
removeBillOrderItemByType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
//
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.MEMBER_DISCOUNT_TYPE, true);
//
if (!TextUtils.isEmpty(levelName)) {
//
memberName = memberName + "(" + levelName + ")";
//
}
//
double discountPrice = OrderDiscount.calculationMemberDiscount(discountRate, totalMoney);
//
BillOrderMoney orderMoney = new BillOrderMoney();
//
orderMoney.setMoney(discountPrice);
//
orderMoney.setTitle(memberName + discountRate + "%");
//
orderMoney.setType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
//
orderMoney.setStatus(status);
//
//折扣
//
Discount discount = new Discount();
//
discount.setId(memberId);
//
discount.setMemberId(memberId);
//
discount.setType(1);
//
discount.setRemark(memberName + discountRate + "%");
//
discount.setDiscount_value(discountRate);
//
orderMoney.setDiscount(discount);
//
//
mOrderMoneyList.add(orderMoney);
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
}
/**
* 更新会员折扣
*/
protected
void
updateMemberDiscount
()
{
BillOrderMoney
orderMoney
=
getBillOrderItemByType
(
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
);
if
(
orderMoney
!=
null
)
{
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
,
false
);
double
discountPrice
=
OrderDiscount
.
calculationDiscount
(
orderMoney
.
getDiscount
(),
totalMoney
);
orderMoney
.
setMoney
(
discountPrice
);
}
}
//
protected void updateMemberDiscount() {
//
BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
//
if (orderMoney != null) {
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.MEMBER_DISCOUNT_TYPE, false);
//
double discountPrice = OrderDiscount.calculationDiscount(orderMoney.getDiscount(), totalMoney);
//
orderMoney.setMoney(discountPrice);
//
}
//
}
/**
* 添加优惠券折扣
...
...
@@ -687,80 +764,80 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @param coupon
* @param status
*/
public
void
addCouponDiscount
(
CouponDiscountBean
coupon
,
long
memberId
,
int
status
)
{
removeBillOrderItemByType
(
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
);
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
,
true
);
double
discountPrice
=
CouponDiscountBean
.
calculationCoupon
(
coupon
.
getDiscount
(),
coupon
.
getAmount
(),
totalMoney
);
BillOrderMoney
orderMoney
=
new
BillOrderMoney
();
orderMoney
.
setMoney
(
discountPrice
);
if
(
coupon
.
getDiscount
()
!=
0
)
{
orderMoney
.
setTitle
(
coupon
.
getName
()
+
coupon
.
getDiscount
()
+
"%"
);
}
else
{
orderMoney
.
setTitle
(
coupon
.
getName
());
}
orderMoney
.
setType
(
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
);
if
(
status
==
0
)
{
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_hint_color
));
}
else
{
orderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
}
orderMoney
.
setStatus
(
status
);
//折扣
Discount
discount
=
new
Discount
();
discount
.
setId
(
coupon
.
getId
());
discount
.
setMemberId
(
memberId
);
discount
.
setRemark
(
coupon
.
getName
()
+
coupon
.
getDiscount
()
+
"%"
);
discount
.
setDiscount_value
(
coupon
.
getDiscount
());
discount
.
setAmount
(
coupon
.
getAmount
());
if
(
coupon
.
getDiscount
()
!=
0
)
{
discount
.
setType
(
1
);
}
else
{
discount
.
setType
(
0
);
}
orderMoney
.
setDiscount
(
discount
);
mOrderMoneyList
.
add
(
orderMoney
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
//
public void addCouponDiscount(CouponDiscountBean coupon, long memberId, int status) {
//
//
removeBillOrderItemByType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
//
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.COUPON_DISCOUNT_TYPE, true);
//
double discountPrice = CouponDiscountBean.calculationCoupon(coupon.getDiscount(), coupon.getAmount(), totalMoney);
//
BillOrderMoney orderMoney = new BillOrderMoney();
//
orderMoney.setMoney(discountPrice);
//
if (coupon.getDiscount() != 0) {
//
orderMoney.setTitle(coupon.getName() + coupon.getDiscount() + "%");
//
} else {
//
orderMoney.setTitle(coupon.getName());
//
}
//
orderMoney.setType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
//
if (status == 0) {
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_hint_color));
//
} else {
//
orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
//
}
//
orderMoney.setStatus(status);
//
//折扣
//
Discount discount = new Discount();
//
discount.setId(coupon.getId());
//
discount.setMemberId(memberId);
//
discount.setRemark(coupon.getName() + coupon.getDiscount() + "%");
//
discount.setDiscount_value(coupon.getDiscount());
//
discount.setAmount(coupon.getAmount());
//
if (coupon.getDiscount() != 0) {
//
discount.setType(1);
//
} else {
//
discount.setType(0);
//
}
//
orderMoney.setDiscount(discount);
//
//
mOrderMoneyList.add(orderMoney);
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
}
/**
* 更新會員優惠券金額
*/
public
void
updateMemberCoupon
()
{
BillOrderMoney
orderMoney
=
getBillOrderItemByType
(
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
);
if
(
orderMoney
!=
null
)
{
double
totalMoney
=
getDiscountableFoodTotal
(
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
,
false
);
double
discountPrice
=
CouponDiscountBean
.
calculationCoupon
(
orderMoney
.
getDiscount
().
getDiscount_value
(),
orderMoney
.
getDiscount
().
getAmount
(),
totalMoney
);
orderMoney
.
setMoney
(
discountPrice
);
}
}
//
public void updateMemberCoupon() {
//
BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
//
if (orderMoney != null) {
//
double totalMoney = getDiscountableFoodTotal(BillOrderMoney.COUPON_DISCOUNT_TYPE, false);
//
double discountPrice = CouponDiscountBean.calculationCoupon(orderMoney.getDiscount().getDiscount_value(), orderMoney.getDiscount().getAmount(), totalMoney);
//
orderMoney.setMoney(discountPrice);
//
}
//
}
/**
* 根據類型刪除賬單項
*
* @param type
*/
private
void
removeBillOrderItemByType
(
int
type
)
{
for
(
int
i
=
mOrderMoneyList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
BillOrderMoney
item
=
mOrderMoneyList
.
get
(
i
);
if
(
item
.
getType
()
==
type
)
{
mOrderMoneyList
.
remove
(
i
);
mOrderMoneyAdapter
.
notifyItemChanged
(
i
);
break
;
}
}
}
//
private void removeBillOrderItemByType(int type) {
//
for (int i = mOrderMoneyList.size() - 1; i >= 0; i--) {
//
BillOrderMoney item = mOrderMoneyList.get(i);
//
if (item.getType() == type) {
//
mOrderMoneyList.remove(i);
//
mOrderMoneyAdapter.notifyItemChanged(i);
//
break;
//
}
//
}
//
}
private
BillOrderMoney
getBillOrderItemByType
(
int
type
)
{
for
(
BillOrderMoney
orderMoney
:
mOrderMoneyList
)
{
if
(
orderMoney
.
getType
()
==
type
)
{
return
orderMoney
;
}
}
return
null
;
}
//
private BillOrderMoney getBillOrderItemByType(int type) {
//
for (BillOrderMoney orderMoney : mOrderMoneyList) {
//
if (orderMoney.getType() == type) {
//
return orderMoney;
//
}
//
}
//
return null;
//
}
/**
* 更新食品折扣
...
...
@@ -827,43 +904,43 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
/**
* 添加賬單小數行
*/
protected
void
addOrderRounding
()
{
double
m1
=
getTotalAmountFilterByType
(
BillOrderMoney
.
ROUNDING_TYPE
);
double
m2
=
MoneyUtil
.
getOrderRounding
(
m1
);
double
roundingMoney
=
0.0
;
if
(
m2
!=
0
)
{
roundingMoney
=
MoneyUtil
.
sub
(
m2
,
MoneyUtil
.
get_ItemDecimals_money
(
m1
));
}
if
(
roundingMoney
!=
0.0
)
{
BillOrderMoney
roundingItem
=
new
BillOrderMoney
();
roundingItem
.
setMoney
(
MoneyUtil
.
getDecimalMoney
(
roundingMoney
,
MoneyUtil
.
ItemDecimals
));
roundingItem
.
setTitle
(
"賬單小數"
);
roundingItem
.
setType
(
BillOrderMoney
.
ROUNDING_TYPE
);
mOrderMoneyList
.
add
(
roundingItem
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
}
//
protected void addOrderRounding() {
//
double m1 = getTotalAmountFilterByType(BillOrderMoney.ROUNDING_TYPE);
//
double m2 = MoneyUtil.getOrderRounding(m1);
//
double roundingMoney = 0.0;
//
if (m2 != 0) {
//
roundingMoney = MoneyUtil.sub(m2, MoneyUtil.get_ItemDecimals_money(m1));
//
}
//
if (roundingMoney != 0.0) {
//
BillOrderMoney roundingItem = new BillOrderMoney();
//
roundingItem.setMoney(MoneyUtil.getDecimalMoney(roundingMoney, MoneyUtil.ItemDecimals));
//
roundingItem.setTitle("賬單小數");
//
roundingItem.setType(BillOrderMoney.ROUNDING_TYPE);
//
mOrderMoneyList.add(roundingItem);
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
}
//
}
/**
* 刪除賬單小數
*/
private
void
removeOrderRouding
()
{
for
(
BillOrderMoney
item
:
mOrderMoneyList
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
ROUNDING_TYPE
)
{
mOrderMoneyList
.
remove
(
item
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
break
;
}
}
}
//
private void removeOrderRouding() {
//
for (BillOrderMoney item : mOrderMoneyList) {
//
if (item.getType() == BillOrderMoney.ROUNDING_TYPE) {
//
mOrderMoneyList.remove(item);
//
mOrderMoneyAdapter.notifyDataSetChanged();
//
break;
//
}
//
}
//
}
/**
* 更新賬單小數(在最後一行)
*/
protected
void
updateOrderRounding
()
{
removeOrderRouding
();
addOrderRounding
();
}
//
protected void updateOrderRounding() {
//
removeOrderRouding();
//
addOrderRounding();
//
}
/**
* 創建訂單后保存OrderId
...
...
@@ -878,8 +955,8 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* 重置選中狀態
*/
public
void
resetSelected
()
{
for
(
int
i
=
0
;
i
<
mOrder
Food
List
.
size
();
i
++)
{
OrderDetail
datasBean
=
mOrder
Food
List
.
get
(
i
);
for
(
int
i
=
0
;
i
<
mOrder
Meal
List
.
size
();
i
++)
{
OrderDetail
datasBean
=
mOrder
Meal
List
.
get
(
i
);
datasBean
.
setSelected
(
0
);
}
if
(
mSelectMealAdapter
!=
null
)
{
...
...
@@ -893,7 +970,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/
public
double
getServiceCharge
()
{
double
serviceCharge
=
0.0
;
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
SERVERCHARGE_TYPE
)
{
serviceCharge
=
item
.
getMoney
();
break
;
...
...
@@ -910,7 +987,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/
public
double
getFoodTotal
()
{
double
total
=
0.0
;
for
(
OrderDetail
food
:
m
yOrderManage
.
getOrderFoodList
()
)
{
for
(
OrderDetail
food
:
m
OrderMealList
)
{
if
(
food
.
getNumber
()
==
0
)
{
continue
;
}
...
...
@@ -933,91 +1010,90 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*
* @return
*/
public
double
getDiscountableFoodTotal
(
int
discountType
,
boolean
add
)
{
double
total
=
0.0
;
List
<
OrderDetail
>
orderFoodList
=
myOrderManage
.
getOrderFoodList
();
int
orderSize
=
orderFoodList
.
size
();
for
(
int
i
=
0
;
i
<
orderSize
;
i
++)
{
OrderDetail
food
=
orderFoodList
.
get
(
i
);
if
(
food
.
getNumber
()
==
0
)
{
continue
;
}
if
(
food
.
getItemType
()
==
1
)
{
if
(
food
.
getAblediscount
()
==
1
)
{
total
=
MoneyUtil
.
sum
(
total
,
food
.
getPrice
());
}
}
else
{
int
parentIndex
=
food
.
getParentIndex
()
-
1
;
if
(
orderSize
>
parentIndex
&&
orderFoodList
.
get
(
parentIndex
).
getAblediscount
()
==
1
)
{
if
(
food
.
getType
()
==
DISCOUNT_TYPE
)
{
//主食品参与折扣,折扣金额直接减掉
total
=
MoneyUtil
.
sub
(
total
,
Math
.
abs
(
food
.
getPrice
()));
}
else
{
//主食品可參與折扣 子食品才能參與折扣
if
(
food
.
getAblediscount
()
==
1
)
{
total
=
MoneyUtil
.
sum
(
total
,
food
.
getPrice
());
}
}
}
}
}
if
(
add
)
{
//添加折扣
//折上折的情况,先减去上面的折扣金额再进行折扣
for
(
int
i
=
0
;
i
<
mOrderMoneyList
.
size
();
i
++)
{
BillOrderMoney
billOrderMoney
=
mOrderMoneyList
.
get
(
i
);
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
||
billOrderMoney
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
||
billOrderMoney
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
double
money
=
billOrderMoney
.
getMoney
();
total
=
MoneyUtil
.
sum
(
total
,
money
);
break
;
}
}
}
else
{
//更新折扣
int
containAllDiscount
=
0
;
for
(
int
i
=
0
;
i
<
mOrderMoneyList
.
size
();
i
++)
{
BillOrderMoney
billOrderMoney
=
mOrderMoneyList
.
get
(
i
);
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
)
{
containAllDiscount
++;
continue
;
}
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
)
{
containAllDiscount
++;
continue
;
}
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
containAllDiscount
++;
continue
;
}
}
if
(
containAllDiscount
>
1
)
{
//有账单折扣+会员折扣 会员优惠券
//折上折的情况,先减去上之前的折扣金额再进行折扣
for
(
int
i
=
0
;
i
<
mOrderMoneyList
.
size
();
i
++)
{
BillOrderMoney
billOrderMoney
=
mOrderMoneyList
.
get
(
i
);
if
(
billOrderMoney
.
getType
()
==
discountType
)
{
//不能减掉自身再折
break
;
}
if
(
billOrderMoney
.
getType
()
==
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
||
billOrderMoney
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
||
billOrderMoney
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
double
money
=
billOrderMoney
.
getMoney
();
total
=
MoneyUtil
.
sum
(
total
,
money
);
break
;
}
}
}
}
if
(
total
<
0
)
{
total
=
0
;
}
return
MoneyUtil
.
get_ItemDecimals_money
(
total
);
}
// public double getDiscountableFoodTotal(int discountType, boolean add) {
// double total = 0.0;
// List<OrderDetail> orderFoodList = myOrderManage.getOrderFoodList();
// int orderSize = orderFoodList.size();
// for (int i = 0; i < orderSize; i++) {
// OrderDetail food = orderFoodList.get(i);
// if (food.getNumber() == 0) {
// continue;
// }
// if (food.getItemType() == 1) {
// if (food.getAblediscount() == 1) {
// total = MoneyUtil.sum(total, food.getPrice());
// }
// } else {
// int parentIndex = food.getParentIndex() - 1;
// if (orderSize > parentIndex && orderFoodList.get(parentIndex).getAblediscount() == 1) {
// if (food.getType() == DISCOUNT_TYPE) {
// //主食品参与折扣,折扣金额直接减掉
// total = MoneyUtil.sub(total, Math.abs(food.getPrice()));
// } else {
// //主食品可參與折扣 子食品才能參與折扣
// if (food.getAblediscount() == 1) {
// total = MoneyUtil.sum(total, food.getPrice());
// }
// }
// }
// }
// }
// if (add) {
// //添加折扣
// //折上折的情况,先减去上面的折扣金额再进行折扣
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// double money = billOrderMoney.getMoney();
// total = MoneyUtil.sum(total, money);
// break;
// }
// }
// } else {
// //更新折扣
// int containAllDiscount = 0;
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// if (billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// if (billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// }
// if (containAllDiscount > 1) {
// //有账单折扣+会员折扣 会员优惠券
// //折上折的情况,先减去上之前的折扣金额再进行折扣
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == discountType) {
// //不能减掉自身再折
// break;
// }
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// double money = billOrderMoney.getMoney();
// total = MoneyUtil.sum(total, money);
// break;
// }
// }
// }
// }
// if (total < 0) {
// total = 0;
// }
// return MoneyUtil.get_ItemDecimals_money(total);
// }
public
double
getDiscountableFoodTotal2
()
{
double
total
=
0.0
;
int
orderSize
=
mOrderMealList
.
size
();
for
(
int
i
=
0
;
i
<
orderSize
;
i
++)
{
MealCommodity
food
=
(
MealCommodity
)
mOrderMealList
.
get
(
i
);
OrderDetail
food
=
mOrderMealList
.
get
(
i
);
if
(
food
.
getNumber
()
==
0
)
{
continue
;
}
...
...
@@ -1027,7 +1103,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
}
}
else
{
int
parentIndex
=
food
.
getParentIndex
()
-
1
;
MealCommodity
parentFood
=
(
MealCommodity
)
mOrderMealList
.
get
(
parentIndex
);
OrderDetail
parentFood
=
mOrderMealList
.
get
(
parentIndex
);
if
(
orderSize
>
parentIndex
&&
parentFood
.
getAblediscount
()
==
1
)
{
if
(
food
.
getType
()
==
MealCommodity
.
DISCOUNT_TYPE
)
{
//主食品参与折扣,折扣金额直接减掉
...
...
@@ -1088,9 +1164,35 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*
* @return
*/
// public double getTotalAmountFilterByType(int... filterTypes) {
// double foodTotal = getFoodTotal();
// for (BillOrderMoney item : mOrderMoneyList) {
// if (!filterType(item.getType(), filterTypes)) {
// if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) {
// //TODO 免服務費
// } else {
// foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
// if (0 > foodTotal) {
// //折扣金額不能超出總額
// foodTotal = 0;
// }
// }
// }
// }
// if (foodTotal < 0) {
// foodTotal = 0;
// }
// return MoneyUtil.get_ItemDecimals_money(foodTotal);
// }
/**
* 獲取總金額
*
* @return
*/
public
double
getTotalAmountFilterByType
(
int
...
filterTypes
)
{
double
foodTotal
=
getFoodTotal
();
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(!
filterType
(
item
.
getType
(),
filterTypes
))
{
if
(
item
.
getType
()
==
BillOrderMoney
.
SERVERCHARGE_TYPE
&&
mOrderMoneyAdapter
.
getFreeServiceStauts
())
{
//TODO 免服務費
...
...
@@ -1125,7 +1227,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/
public
double
getTotalAmount
()
{
double
foodTotal
=
getFoodTotal
();
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
SERVERCHARGE_TYPE
&&
mOrderMoneyAdapter
.
getFreeServiceStauts
())
{
//TODO 免服務費
}
else
{
...
...
@@ -1148,7 +1250,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return
*/
protected
Double
getRounding
()
{
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
ROUNDING_TYPE
)
{
return
item
.
getMoney
();
}
...
...
@@ -1260,11 +1362,11 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
();
CreateOrderRequest
request
=
new
CreateOrderRequest
();
request
.
setTableNumber
(
OpenTableManage
.
getDefault
().
getTableBean
().
getTableNumber
());
request
.
setTableNumber
(
mDoshokuOrder
.
getOpenTableInfo
().
getTableNumber
());
request
.
setOrderDetails
(
orderDetailBeanToFoodRequest
(
newFoodList
));
request
.
setPerson
(
OpenTableManage
.
getDefault
().
getPeopleNumber
());
request
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
());
request
.
setTableName
(
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
());
request
.
setPerson
(
mDoshokuOrder
.
getOpenTableInfo
().
getPerson
());
request
.
setTableId
(
mDoshokuOrder
.
getOpenTableInfo
().
getId
());
request
.
setTableName
(
mDoshokuOrder
.
getOpenTableInfo
().
getTableName
());
request
.
setRounding
(
getRounding
());
request
.
setRestaurantId
(
restaurantId
);
...
...
@@ -1286,11 +1388,11 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
AddOrderRequest
request
=
new
AddOrderRequest
();
request
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
request
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
());
request
.
setTableId
(
mDoshokuOrder
.
getOpenTableInfo
().
getId
());
if
(
MyOrderManage
.
getInstance
().
getMemberInfo
()
!=
null
)
{
request
.
setMemberId
(
MyOrderManage
.
getInstance
().
getMemberInfo
().
getId
());
}
request
.
setTableNumber
(
OpenTableManage
.
getDefault
().
getTableBean
().
getTableNumber
());
request
.
setTableNumber
(
mDoshokuOrder
.
getOpenTableInfo
().
getTableNumber
());
request
.
setMaps
(
orderDetailBeanToAddFoodRequest
(
newFoodList
));
if
(
myOrderManage
.
getDeleteOrders
()
!=
null
)
{
request
.
setDeleteOrders
(
myOrderManage
.
getDeleteOrders
());
...
...
@@ -1308,17 +1410,17 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
List
<
OrderDiscount
.
Request
>
discountRequests
=
new
ArrayList
<>();
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
)
{
discountRequests
.
add
(
OrderDiscount
.
Request
.
orderDiscountTransRequest
(
item
));
discountRequests
.
add
(
OrderDiscount
.
Request
.
orderDiscountTransRequest
(
(
DiscountItem
)
item
));
continue
;
}
if
(
item
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
)
{
discountRequests
.
add
(
OrderDiscount
.
Request
.
memberDiscountTransRequest
(
item
));
discountRequests
.
add
(
OrderDiscount
.
Request
.
memberDiscountTransRequest
(
(
DiscountItem
)
item
));
continue
;
}
if
(
item
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
discountRequests
.
add
(
OrderDiscount
.
Request
.
couponDiscountTransRequest
(
item
));
discountRequests
.
add
(
OrderDiscount
.
Request
.
couponDiscountTransRequest
(
(
DiscountItem
)
item
));
continue
;
}
}
...
...
@@ -1638,9 +1740,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return
*/
protected
Long
getCouponDiscountId
()
{
for
(
BillOrderMoney
item
:
mOrderMoneyList
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
&&
item
.
getDiscount
()
!=
null
)
{
return
item
.
getDiscount
().
getId
();
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
DiscountItem
discountItem
=
(
DiscountItem
)
item
;
return
discountItem
.
getDiscount
().
getId
();
}
}
return
null
;
...
...
@@ -1651,8 +1754,8 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*
* @return
*/
protected
Bill
OrderMoney
getNewDiscount
()
{
for
(
Bill
OrderMoney
item
:
mOrderMoney
List
)
{
protected
Bill
Item
getNewDiscount
()
{
for
(
Bill
Item
item
:
mBillItem
List
)
{
if
(
item
.
getStatus
()
==
0
&&
(
item
.
getType
()
==
BillOrderMoney
.
ORDER_DISCOUNT_TYPE
||
item
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
||
...
...
@@ -1710,21 +1813,19 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
return
false
;
}
public
List
<
OrderDetail
>
getOrderFoodLists
()
{
return
m
yOrderManage
.
getOrderFoodList
()
;
return
m
OrderMealList
;
}
protected
String
getTableName
()
{
String
tablename
=
""
;
if
(
OpenTableManage
.
getDefault
().
isSplite
())
{
tablename
=
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
()
+
"-"
+
OpenTableManage
.
getDefault
().
getSplitNo
();
}
else
{
tablename
=
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
();
}
return
tablename
;
}
// protected String getTableName() {
// String tablename = "";
// if (mDoshokuOrder.getOpenTableInfo().isSplite()) {
// tablename = mDoshokuOrder.getOpenTableInfo().getTableName() + "-" + mDoshokuOrder.getOpenTableInfo().getSplitNo();
// } else {
// tablename = mDoshokuOrder.getOpenTableInfo().getTableName();
// }
// return tablename;
// }
/**
* 修改訂單
...
...
@@ -1753,10 +1854,14 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
}
else
{
textView
.
setText
(
"人數:"
+
peopleNumber
);
}
OpenTableManage
.
getDefault
().
setPeopleNumber
(
Integer
.
parseInt
(
peopleNumber
));
mDoshokuOrder
.
getOpenTableInfo
().
setPerson
(
Integer
.
parseInt
(
peopleNumber
));
}
}
});
}
public
ShoppingCart
getShoppingCart
()
{
return
mShoppingCart
;
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
View file @
1a28da3b
...
...
@@ -5,7 +5,7 @@ import android.app.Application;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
1a28da3b
...
...
@@ -4,23 +4,27 @@ import android.app.Application;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderDetail
;
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.bean.mealManger.OpenTableManage
;
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
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FunctionDaoUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
...
...
@@ -52,7 +56,6 @@ import com.jess.arms.di.scope.ActivityScope;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.qmuiteam.qmui.util.QMUIDeviceHelper
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
...
...
@@ -70,9 +73,7 @@ import io.reactivex.Observer;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
lombok.Data
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
...
...
@@ -145,6 +146,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public
MealStandPresenter
(
MealStandContract
.
Model
model
,
MealStandContract
.
View
rootView
)
{
super
(
model
,
rootView
);
this
.
IActivity
=
(
MealStandActivity
)
rootView
;
// initBillItem();
// updateBillInfo();
}
@Override
...
...
@@ -156,13 +160,117 @@ 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
();
}
public
void
initMealData
()
{
List
<
Food
>
foodGroupList
=
mModel
.
queryDB_FoodGroupList
(
orderType
);
List
<
Food
>
foodGroupList
=
mModel
.
queryDB_FoodGroupList
(
BaseOrder
.
orderType
);
if
(
foodGroupList
!=
null
&&
foodGroupList
.
size
()
>
0
)
{
...
...
@@ -305,7 +413,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//沽清子食品沽清數
updateComboItemSoldoutCtrData
();
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
//更新賬單數
updateOrderFoodNumber
();
}
...
...
@@ -363,7 +471,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
addDiscountItem
(
datasBean
);
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
}
});
}
...
...
@@ -425,7 +533,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Subscriber
(
tag
=
MealConstant
.
ADD_FOOD_MODIFIER
)
private
void
addModifierItem
(
Modifier
datasBean
)
{
int
addPosition
=
mOrder
Food
List
.
size
();
int
addPosition
=
mOrder
Meal
List
.
size
();
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
addPosition
=
addMultipleModifierItems
(
datasBean
,
addPosition
);
}
else
{
...
...
@@ -435,7 +543,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
IActivity
.
setFineItemSlodoutListFull
(
mSoldoutCtrList
);
...
...
@@ -467,7 +575,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
List
<
ComboItem
>
comboItemList
=
new
ArrayList
<>();
if
(
itemType
==
1
)
{
//获取套餐细项数据
List
<
ComboItem
>
comboItems
=
mModel
.
queryDB_ComboList
(
fid
,
orderType
);
List
<
ComboItem
>
comboItems
=
mModel
.
queryDB_ComboList
(
fid
,
BaseOrder
.
orderType
);
comboItemList
.
addAll
(
comboItems
);
}
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierList
(
fid
,
ModifierDaoUtils
.
modifierMode_All
);
...
...
@@ -536,7 +644,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//更新沽清食品數量
updateFoodSoldoutCtrData
();
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
}
updateOrderFoodNumber
();
}
...
...
@@ -552,14 +660,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
OrderDetail
mainOrderDetail1
=
mSelectMealAdapter
.
getCurrentMainOrderDetail
();
if
(
mainOrderDetail1
!=
null
)
{
if
(
mainOrderDetail1
.
getItemType
()
==
1
)
{
for
(
int
i
=
0
;
i
<
mOrder
Food
List
.
size
();
i
++)
{
OrderDetail
orderDetail
=
mOrder
Food
List
.
get
(
i
);
for
(
int
i
=
0
;
i
<
mOrder
Meal
List
.
size
();
i
++)
{
OrderDetail
orderDetail
=
mOrder
Meal
List
.
get
(
i
);
if
(
orderDetail
.
getParentIndex
()
==
mainOrderDetail1
.
getMyIndex
()
&&
orderDetail
.
getType
()
==
OrderDetail
.
DISCOUNT_TYPE
)
{
if
(!
orderDetail
.
isNew
())
{
//已送单折扣不可替换
return
-
100
;
}
if
(
mOrder
Food
List
.
get
(
mSelectMealAdapter
.
getSelect_position
()).
getType
()
==
OrderDetail
.
DISCOUNT_TYPE
)
{
if
(
mOrder
Meal
List
.
get
(
mSelectMealAdapter
.
getSelect_position
()).
getType
()
==
OrderDetail
.
DISCOUNT_TYPE
)
{
//选中折扣 替换原有折扣防止将折扣添加到下面一个食品
mSelectMealAdapter
.
setSelect_position
(
mSelectMealAdapter
.
getSelect_position
()
-
1
);
}
...
...
@@ -608,9 +716,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
currentMainOrderDetail
!=
null
)
{
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
mOrder
Food
List
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
mOrder
Meal
List
.
size
()
-
1
;
i
>=
0
;
i
--)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
item
=
mOrder
Food
List
.
get
(
i
);
OrderDetail
item
=
mOrder
Meal
List
.
get
(
i
);
if
(
item
.
getItemType
()
==
1
)
{
mainOrderNumber
=
item
.
getNumber
();
}
...
...
@@ -652,7 +760,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int
maxQty
=
modifier
.
getSelectQty
()
*
mainOrderNumber
;
if
(
numberAndCutPositionStr
.
length
>
1
&&
!
TextUtils
.
isEmpty
(
numberAndCutPositionStr
[
1
]))
{
int
cutPosition
=
Integer
.
parseInt
(
numberAndCutPositionStr
[
1
]);
if
(
maxQty
<=
number
&&
cutPosition
<
mOrder
Food
List
.
size
())
{
if
(
maxQty
<=
number
&&
cutPosition
<
mOrder
Meal
List
.
size
())
{
return
cutPosition
;
}
}
else
{
...
...
@@ -672,9 +780,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
currentMainOrderDetail
!=
null
)
{
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
mOrder
Food
List
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
mOrder
Meal
List
.
size
()
-
1
;
i
>=
0
;
i
--)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
item
=
mOrder
Food
List
.
get
(
i
);
OrderDetail
item
=
mOrder
Meal
List
.
get
(
i
);
if
(
item
.
getItemType
()
==
1
)
{
mainOrderNumber
=
item
.
getNumber
();
}
...
...
@@ -716,7 +824,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int
maxQty
=
comboItem
.
getSelectQty
()
*
mainOrderNumber
;
if
(
numberAndCutPositionStr
.
length
>
1
&&
!
TextUtils
.
isEmpty
(
numberAndCutPositionStr
[
1
]))
{
int
cutPosition
=
Integer
.
parseInt
(
numberAndCutPositionStr
[
1
]);
if
(
maxQty
<=
number
&&
cutPosition
<
mOrder
Food
List
.
size
())
{
if
(
maxQty
<=
number
&&
cutPosition
<
mOrder
Meal
List
.
size
())
{
return
cutPosition
;
}
}
else
{
...
...
@@ -869,7 +977,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
AutoPrinterPaper
,
true
))
{
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
MergeSendFood
,
true
))
{
//合并主食品
mergeMainFoodNumber
(
mOrder
Food
List
);
mergeMainFoodNumber
(
mOrder
Meal
List
);
}
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"printActivity"
)
...
...
@@ -929,14 +1037,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView
.
showBtnMealModifyRestoreVisibility
(
true
);
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
}
/**
* 恢復標記刪除的食品
*/
public
void
restoreDeleteFood
()
{
for
(
OrderDetail
item
:
mOrder
Food
List
)
{
for
(
OrderDetail
item
:
mOrder
Meal
List
)
{
if
(!
item
.
isModify
())
{
continue
;
}
...
...
@@ -953,7 +1061,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
myOrderManage
.
setDeleteOrders
(
null
);
mSelectMealAdapter
.
notifyDataSetChanged
();
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
}
public
void
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
)
{
...
...
@@ -1135,7 +1243,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateComboItemSoldoutCtrData
();
updateModifierSoldoutCtrData
();
//更新賬單金額
updateBill
OrderItem
();
updateBill
Info
();
updateOrderFoodNumber
();
}
...
...
@@ -1170,7 +1278,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
public
void
changedMealByParentId
(
long
parentId
)
{
List
<
Food
>
foodList
=
mModel
.
queryDB_FoodList
(
parentId
,
orderType
);
List
<
Food
>
foodList
=
mModel
.
queryDB_FoodList
(
parentId
,
BaseOrder
.
orderType
);
mFoodAdapter
.
resetSelect
(-
1
,
null
);
if
(
foodList
!=
null
)
{
updateFoodData
(
foodList
,
parentId
);
...
...
@@ -1633,8 +1741,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
Food
foodBean
=
mFoodList
.
get
(
i
);
foodBean
.
setNumber
(
0
);
int
iNumber
=
0
;
for
(
int
j
=
0
;
j
<
mOrder
Food
List
.
size
();
j
++)
{
OrderDetail
datasBean
=
mOrder
Food
List
.
get
(
j
);
for
(
int
j
=
0
;
j
<
mOrder
Meal
List
.
size
();
j
++)
{
OrderDetail
datasBean
=
mOrder
Meal
List
.
get
(
j
);
if
(
datasBean
.
isNew
()
&&
datasBean
.
getProductId
()
==
foodBean
.
getId
())
{
iNumber
=
iNumber
+
datasBean
.
getNumber
();
foodBean
.
setNumber
(
iNumber
);
...
...
@@ -1866,7 +1974,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* 全選
*/
public
void
setSelectAll
()
{
for
(
OrderDetail
item
:
mOrder
Food
List
)
{
for
(
OrderDetail
item
:
mOrder
Meal
List
)
{
item
.
setSelected
(
1
);
}
mSelectMealAdapter
.
notifyDataSetChanged
();
...
...
@@ -1876,7 +1984,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* 反選
*/
public
void
setAntiSelect
()
{
for
(
OrderDetail
item
:
mOrder
Food
List
)
{
for
(
OrderDetail
item
:
mOrder
Meal
List
)
{
if
(
item
.
getSelected
()
==
0
)
{
item
.
setSelected
(
1
);
}
else
{
...
...
@@ -1891,16 +1999,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
public
int
addMultipleModifierItems
(
Modifier
modifierItem
,
int
addPosition
)
{
int
overIndex
=
0
;
for
(
int
i
=
0
;
i
<
mOrder
Food
List
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
mOrder
Meal
List
.
size
();
i
++)
{
if
(
overIndex
>
i
)
continue
;
OrderDetail
item
=
mOrder
Food
List
.
get
(
i
);
OrderDetail
item
=
mOrder
Meal
List
.
get
(
i
);
if
(
item
.
getSelected
()
!=
0
)
{
if
(
item
.
getItemType
()
==
1
)
{
int
j
=
i
;
int
insertPosition
=
getEndInsertPosition
(
mOrder
Food
List
,
item
,
i
);
int
insertPosition
=
getEndInsertPosition
(
mOrder
Meal
List
,
item
,
i
);
if
(
insertPosition
!=
-
1
)
{
if
(
insertPosition
<
mOrder
Food
List
.
size
())
{
if
(
insertPosition
<
mOrder
Meal
List
.
size
())
{
j
=
insertPosition
+
1
;
}
else
{
j
=
insertPosition
;
...
...
@@ -1909,8 +2017,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
overIndex
=
j
;
long
id
=
item
.
isNew
()
?
item
.
getProductId
()
:
item
.
getId
();
OrderDetail
modifierTransOrderDetail
=
OrderDetail
.
modifierTransOrderDetail
(
modifierItem
,
id
,
item
.
getProductId
(),
1
);
mOrder
Food
List
.
add
(
j
,
modifierTransOrderDetail
);
setIndex
(
mOrder
Food
List
);
mOrder
Meal
List
.
add
(
j
,
modifierTransOrderDetail
);
setIndex
(
mOrder
Meal
List
);
}
}
}
...
...
@@ -2005,15 +2113,15 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
/**
* 刪除會員折扣,會員優惠券
*/
public
void
removeMemberDiscountItem
()
{
for
(
int
i
=
mOrderMoney
List
.
size
()
-
1
;
i
>=
0
;
i
--)
{
BillOrderMoney
orderMoney
=
mOrderMoney
List
.
get
(
i
);
if
(
orderMoney
.
getType
()
==
BillOrderMoney
.
MEMBER_DISCOUNT_TYPE
||
orderMoney
.
getType
()
==
BillOrderMoney
.
COUPON_DISCOUNT_TYPE
)
{
mOrderMoney
List
.
remove
(
i
);
mOrderMoneyAdapter
.
notifyItemChanged
(
i
);
}
}
}
//
public void removeMemberDiscountItem() {
// for (int i = mBillItem
List.size() - 1; i >= 0; i--) {
// BillItem billItem = mBillItem
List.get(i);
// if (billItem.getType() == BillItem.MEMBER_DISCOUNT_TYPE || billItem.getType() == BillItem
.COUPON_DISCOUNT_TYPE) {
// mBillItem
List.remove(i);
//
mOrderMoneyAdapter.notifyItemChanged(i);
//
}
//
}
//
}
/**
* 加載折扣數據
...
...
@@ -2047,9 +2155,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
double
discount
=
0.0
;
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrder
Food
List
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
mOrder
Meal
List
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderDetailsBean
=
mOrder
Food
List
.
get
(
i
);
OrderDetail
orderDetailsBean
=
mOrder
Meal
List
.
get
(
i
);
if
(
orderDetailsBean
.
getProp
()
==
OrderDetail
.
DISCOUNT_PROP
)
{
//折上折減去以折扣金額
discount
=
MoneyUtil
.
sub
(
discount
,
orderDetailsBean
.
getPrice
());
...
...
@@ -2086,8 +2194,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
DeleteOrderRequest
request
=
new
DeleteOrderRequest
();
request
.
setMapsDelete
(
mapsDelete
);
request
.
setOrderId
(
orderId
);
request
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getId
());
request
.
setTableNumber
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
());
request
.
setTableId
(
mTableInfo
.
getId
());
request
.
setTableNumber
(
mTableInfo
.
getTableNumber
());
request
.
setType
(
type
);
request
.
setReasonId
(
reasonId
);
return
request
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
1a28da3b
...
...
@@ -12,13 +12,13 @@ import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
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.order.bean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderDetail
;
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.CouponDiscountResult
;
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.table.bean.TableExtBean
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
...
...
@@ -202,7 +202,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//有未送單食品先送單
sendOrder
(
true
,
null
);
}
else
{
printOrder
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
false
);
printOrder
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
getId
(),
false
);
}
break
;
case
"結賬"
:
...
...
@@ -210,8 +210,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// return;
// }
if
(
hasNesOrderFoods
()
||
getNewDiscount
()
!=
null
||
myOrderManage
.
needUpdateMemberInfo
())
{
Class
[]
parameterTypes
=
{
boolean
.
class
,
Class
.
class
};
Object
[]
parameters
=
{
false
,
OrderPayActivity
.
class
};
Class
[]
parameterTypes
=
{
boolean
.
class
,
Class
.
class
};
Object
[]
parameters
=
{
false
,
OrderPayActivity
.
class
};
CommonTipDialog
.
showDoubtDialog
(
IActivity
,
"賬單已變化,是否送單后去結賬"
,
BaseOrderPresenter
.
class
,
mBaseOrderPresenter
,
"sendOrder"
,
parameterTypes
,
parameters
);
//有未送單食品先送單
...
...
@@ -252,14 +252,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mOrderMoneyAdapter
.
setOnItemClickListener
(
new
OrderMoneyAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Bill
OrderMoney
datasBean
,
int
position
)
{
public
void
onItemClick
(
Bill
Item
datasBean
,
int
position
)
{
}
@Override
public
void
onItemDeleteClick
(
Bill
OrderMoney
datasBean
,
int
position
)
{
public
void
onItemDeleteClick
(
Bill
Item
datasBean
,
int
position
)
{
removeOrderDetailItem
(
position
);
updateBill
OrderItem
();
updateBill
Info
();
//更新總金額
IActivity
.
initOrderDetail
();
}
...
...
@@ -288,7 +288,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mFunctionList
.
add
(
new
Function
(
"折扣"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#008577"
),
24
));
mFunctionList
.
add
(
new
Function
(
"印單"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#FF8E04"
),
24
));
mFunctionList
.
add
(
new
Function
(
"送單信息"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#008131"
),
24
));
}
else
{
}
else
{
mFunctionList
.
add
(
new
Function
(
"送單"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#008131"
),
24
));
mFunctionList
.
add
(
new
Function
(
"印單"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#FF8E04"
),
24
));
mFunctionList
.
add
(
new
Function
(
"結賬"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#DC0000"
),
24
));
...
...
@@ -360,7 +360,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private
void
sendOrderRespose
(
BaseOrderRespose
info
,
boolean
isPrint
,
Class
afterToActivity
)
{
if
(
info
==
null
)
{
if
(
isPrint
)
{
printOrder
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getId
(),
true
);
printOrder
(
mTableInfo
.
getId
(),
true
);
}
else
{
if
(!
hasNesOrderFoods
())
{
//未新增食品點擊送單 後台不讓過直接提示即可,不調用打印
...
...
@@ -372,7 +372,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
else
{
if
(
isPrint
)
{
printOrder
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getId
(),
true
);
printOrder
(
mTableInfo
.
getId
(),
true
);
}
else
{
mRootView
.
showMessage
(
"送單成功"
);
//刷新食品列表
...
...
@@ -394,7 +394,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
AutoPrinterPaper
,
true
))
{
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
MergeSendFood
,
true
))
{
//合并主食品
mergeMainFoodNumber
(
mOrder
Food
List
);
mergeMainFoodNumber
(
mOrder
Meal
List
);
}
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"printActivity"
)
...
...
@@ -421,7 +421,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
printOrder
(
long
tableId
,
boolean
isSend
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"tableId"
,
tableId
+
""
)
.
add
(
"tableNumber"
,
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
())
.
add
(
"tableNumber"
,
mTableInfo
.
getTableNumber
())
.
build
();
mModel
.
printOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
...
...
@@ -437,7 +437,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
MergeSendFood
,
true
))
{
//合并主食品
mergeMainFoodNumber
(
mOrder
Food
List
);
mergeMainFoodNumber
(
mOrder
Meal
List
);
}
CC
.
obtainBuilder
(
"Component.Print"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_SLIP
)
//印單
...
...
@@ -467,7 +467,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
public
void
queryCoupon
(
Long
memberId
,
long
couponMemberId
,
String
couponNo
,
int
restaurantId
)
{
int
tableId
=
openTableManage
.
getTableBean
().
getId
();
if
(
mDoshokuOrder
==
null
)
{
return
;
}
int
tableId
=
mDoshokuOrder
.
getOpenTableInfo
().
getId
();
mModel
.
queryCoupon
(
tableId
,
memberId
,
couponMemberId
,
couponNo
,
restaurantId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
...
...
@@ -488,7 +491,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if
(
memberInfo
!=
null
)
{
updateBillItem
=
true
;
myOrderManage
.
setMemberInfo
(
memberInfo
);
addMemberDiscount
(
memberInfo
.
getId
(),
memberInfo
.
getMemberDiscount
(),
memberInfo
.
getMemberName
(),
memberInfo
.
getLevelName1
(),
BillOrderMoney
.
BILL_ITEM_NO_ORDER_STATUS
);
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createMemberDiscount
(
memberInfo
));
// addMemberDiscount(memberInfo.getId(), memberInfo.getMemberDiscount(), memberInfo.getMemberName(), memberInfo.getLevelName1(), BillItem.BILL_ITEM_NO_ORDER_STATUS);
}
CouponDiscountBean
couponBean
=
couponResult
.
getCouponBean
();
if
(
couponBean
!=
null
)
{
...
...
@@ -496,10 +500,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return
;
}
updateBillItem
=
true
;
addCouponDiscount
(
couponBean
,
myOrderManage
.
getMemberInfo
().
getId
(),
BillOrderMoney
.
BILL_ITEM_NO_ORDER_STATUS
);
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createCouponDiscount
(
couponBean
));
// addCouponDiscount(couponBean, myOrderManage.getMemberInfo().getId(), BillItem.BILL_ITEM_NO_ORDER_STATUS);
}
if
(
updateBillItem
)
{
updateBill
OrderItem
();
updateBill
Info
();
//更新總金額
IActivity
.
initOrderDetail
();
myOrderManage
.
setTotalAmount
(
getTotalAmount
());
...
...
@@ -652,9 +657,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"tableId"
,
String
.
valueOf
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getId
()))
.
add
(
"tableId"
,
String
.
valueOf
(
mTableInfo
.
getId
()))
.
add
(
"targetId"
,
String
.
valueOf
(
dataBean
.
getId
()))
.
add
(
"tableNumber"
,
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
())
.
add
(
"tableNumber"
,
mTableInfo
.
getTableNumber
())
.
add
(
"targetTableNumber"
,
dataBean
.
getTableNumber
())
.
add
(
"orderId"
,
String
.
valueOf
(
MyOrderManage
.
getInstance
().
getOrderId
()))
.
add
(
"orderDetailsIds"
,
ids
)
...
...
@@ -682,7 +687,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView
.
showMessage
(
"轉移成功"
);
updateOrderDetails
(
info
);
updateBill
OrderItem
();
updateBill
Info
();
IActivity
.
initOrderDetail
();
IActivity
.
backPressed
();
...
...
@@ -782,8 +787,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog
.
setOnClickListener
(
new
DiscountDialog
.
Builder
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
Discount
item
,
int
position
)
{
addOrderDiscount
(
false
,
item
,
BillOrderMoney
.
BILL_ITEM_NO_ORDER_STATUS
);
updateBillOrderItem
();
// addOrderDiscount(false, item, BillItem.BILL_ITEM_NO_ORDER_STATUS);
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createNomalDiscount
(
item
));
updateBillInfo
();
}
@Override
...
...
@@ -799,6 +805,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog
.
build
().
show
();
}
/**
* 更新訂單詳情
*
...
...
@@ -809,22 +816,22 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if
(
info
.
getData
().
getOrderDetails
()
!=
null
)
{
OpenTableManage
.
getDefault
().
setPeopleNumber
(
info
.
getData
().
getPerson
());
mTableInfo
.
setPerson
(
info
.
getData
().
getPerson
());
//緩存訂單信息
MyOrderManage
.
getInstance
().
setOrderBean
(
new
OrderBean
(
info
.
getData
()));
//緩存食品信息
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
info
.
getData
().
getOrderDetails
()));
mOrder
Food
List
.
clear
();
mOrder
Food
List
.
addAll
(
orderDetailList
);
mOrder
Meal
List
.
clear
();
mOrder
Meal
List
.
addAll
(
orderDetailList
);
mSelectMealAdapter
.
notifyDataSetChanged
();
mSelectMealAdapter
.
setIndex
();
}
for
(
Bill
OrderMoney
billOrderMoney:
mOrderMoney
List
)
{
for
(
Bill
Item
billItem
:
mBillItem
List
)
{
//將已有折扣 服務費狀態改為已送單
bill
OrderMoney
.
setStatus
(
BillOrderMoney
.
BILL_ITEM_ORDER_SENT_STATUS
);
bill
OrderMoney
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
bill
Item
.
setStatus
(
BillItem
.
BILL_ITEM_ORDER_SENT_STATUS
);
bill
Item
.
setTextColor
(
ArmsUtils
.
getColor
(
IActivity
,
R
.
color
.
theme_black
));
}
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
...
...
@@ -871,8 +878,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
public
void
removeOrderDetailItem
(
int
index
)
{
if
(
index
<
m
OrderMoney
List
.
size
())
{
m
OrderMoney
List
.
remove
(
index
);
if
(
index
<
m
BillItem
List
.
size
())
{
m
BillItem
List
.
remove
(
index
);
mOrderMoneyAdapter
.
notifyDataSetChanged
();
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
1a28da3b
...
...
@@ -7,10 +7,12 @@ 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.
bean
.OrderDetail
;
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
;
...
...
@@ -285,8 +287,8 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
payRequest
.
setOrderId
(
MyOrderManage
.
getInstance
().
getOrderId
());
payRequest
.
setOrderPayType
(
orderPayType
);
payRequest
.
setLinePayType
(
orderPayView
.
getLinePayType
());
payRequest
.
setTableId
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getId
());
payRequest
.
setTableNumber
(
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
());
payRequest
.
setTableId
(
mTableInfo
.
getId
());
payRequest
.
setTableNumber
(
mTableInfo
.
getTableNumber
());
if
(
memberInfo
!=
null
)
{
payRequest
.
setMemberId
(
memberInfo
.
getId
());
payRequest
.
setCouponId
(
getCouponDiscountId
());
...
...
@@ -372,7 +374,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* @return
*/
private
boolean
hasDeleteFood
()
{
for
(
OrderDetail
item
:
mOrder
Food
List
)
{
for
(
OrderDetail
item
:
mOrder
Meal
List
)
{
if
(
item
.
isModify
())
{
return
true
;
}
...
...
@@ -384,7 +386,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
//更新服務費中劃線
mOrderMoneyAdapter
.
FreeServiceStauts
(
isUseFreeServicePayMethod
);
//更新總金額
updateBill
OrderItem
();
updateBill
Info
();
OrderPayView
orderPayView
=
IActivity
.
getGsaPayView
();
if
(
orderPayView
!=
null
)
{
orderPayView
.
setTotalAmount
(
getTotalAmount
());
...
...
@@ -461,7 +463,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
*/
public
double
getPointsAdd
()
{
double
pointsAdd
=
0
;
for
(
OrderDetail
orderDetail
:
mOrder
Food
List
)
{
for
(
OrderDetail
orderDetail
:
mOrder
Meal
List
)
{
if
(
orderDetail
.
getType
()
==
OrderDetail
.
FOOD_TYPE
)
{
pointsAdd
=
MoneyUtil
.
sum
(
pointsAdd
,
MoneyUtil
.
multiply
(
orderDetail
.
getPointsAdd
(),
orderDetail
.
getNumber
()));
}
...
...
@@ -476,7 +478,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
*/
public
double
getPointsRedeem
()
{
double
pointsRedeem
=
0
;
for
(
OrderDetail
orderDetail
:
mOrder
Food
List
)
{
for
(
OrderDetail
orderDetail
:
mOrder
Meal
List
)
{
if
(
orderDetail
.
getType
()
==
OrderDetail
.
FOOD_TYPE
)
{
pointsRedeem
=
MoneyUtil
.
sum
(
pointsRedeem
,
MoneyUtil
.
multiply
(
orderDetail
.
getPointsRedeem
(),
orderDetail
.
getNumber
()));
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
1a28da3b
...
...
@@ -10,9 +10,9 @@ 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.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
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.table.bean.TableExtBean
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
...
...
@@ -69,8 +69,8 @@ import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import
okhttp3.FormBody
;
import
okhttp3.RequestBody
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
OrderDetail
.
FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
bean
.
OrderDetail
.
MODIFIER_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
commodity
.
OrderDetail
.
FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
commodity
.
OrderDetail
.
MODIFIER_TYPE
;
/**
...
...
@@ -325,7 +325,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override
public
void
onNext
(
@NonNull
BaseOrderRespose
respose
)
{
if
(
respose
.
isSuccess
())
{
OpenTableManage
.
getDefault
().
setPeopleNumber
(
0
);
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
tableInfo
.
setPerson
(
0
);
//設置當前開台數據1584427984728 1584428017196 1584428086282
// TableBean.DataBean dataBean = getTableById(tableId);
TableBean
.
DataBean
openTableBean
=
tableBean
;
...
...
@@ -338,7 +340,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
//將開台時間設置為訂單創建時間
openTableBean
.
setCreateTime
(
TimeUtils
.
getFormatTime
(
respose
.
getData
().
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
OpenTableManage
.
getDefault
().
setPeopleNumber
(
orderBean
.
getPerson
());
tableInfo
.
setPerson
(
orderBean
.
getPerson
());
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
respose
.
getData
().
getOrderDetails
();
...
...
@@ -352,7 +354,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
MyOrderManage
.
getInstance
().
setOrderBean
(
null
);
MyOrderManage
.
getInstance
().
setOrderFoodList
(
new
ArrayList
<>());
}
OpenTableManage
.
getDefault
().
setTableBean
(
openTableBean
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
openTableBean
);
printParper
();
}
else
{
...
...
@@ -371,8 +373,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
//清空賬單數據
MyOrderManage
.
getInstance
().
clear
();
//清空
開檯
數據
OpenTableManage
.
getDefault
().
clear
();
//清空
賬單
數據
DoshokuOrder
.
getInstance
().
initialization
();
mRootView
.
canceTableAction
();
});
...
...
@@ -411,8 +413,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
else
{
openTableBean
=
getTableById
(
tableId
);
}
OpenTableManage
.
getDefault
().
setPeopleNumber
(
0
);
OpenTableManage
.
getDefault
().
setPeopleNumber
(
openTableBean
.
getSeatCount
());
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
OrderBean
orderBean
=
respose
.
getData
();
if
(
orderBean
!=
null
&&
respose
.
getData
().
getOrderDetails
()
!=
null
)
{
...
...
@@ -420,35 +423,87 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
//將開台時間設置為訂單創建時間
openTableBean
.
setCreateTime
(
TimeUtils
.
getFormatTime
(
respose
.
getData
().
getCreateTime
(),
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
OpenTableManage
.
getDefault
().
setPeopleNumber
(
orderBean
.
getPerson
());
List
<
OrderBean
.
OrderDetailsBean
>
orderDetail
sBeans
=
orderBean
.
getOrderDetails
();
List
<
OrderBean
.
OrderDetailsBean
>
mealCommodity
sBeans
=
orderBean
.
getOrderDetails
();
setFoodPoints
(
orderDetail
sBeans
);
setFoodPoints
(
mealCommodity
sBeans
);
//設置套餐topId
setTopId
(
orderDetailsBeans
);
//緩存訂單信息
MyOrderManage
.
getInstance
().
setOrderBean
(
new
OrderBean
(
orderBean
));
//緩存食品信息
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
MyOrderManage
.
getInstance
().
setOrderFoodList
(
orderDetailList
);
setTopId
(
mealCommoditysBeans
);
if
(
orderBean
.
getMemberInfo
()
!=
null
)
{
//设置会员信息
MyOrderManage
.
getInstance
().
setMemberInfo
(
orderBean
.
getMemberInfo
());
MyOrderManage
.
getInstance
().
setMemberUpdateStatus
(
true
+
"-"
+
true
);
}
else
{
MyOrderManage
.
getInstance
().
setMemberUpdateStatus
(
false
+
"-"
+
false
);
}
//設置用餐人數
doshokuOrder
.
getOpenTableInfo
().
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);
// }
}
else
{
MyOrderManage
.
getInstance
().
setOrderBean
(
null
);
MyOrderManage
.
getInstance
().
setOrderFood
List
(
new
ArrayList
<>());
doshokuOrder
.
setOrderPlaced
(
null
);
doshokuOrder
.
getShoppingCart
().
setOrderCommodity
List
(
new
ArrayList
<>());
}
OpenTableManage
.
getDefault
().
setTableBean
(
openTableBean
);
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
mRootView
.
startMealStandActivity
();
}
else
{
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
respose
.
getErrMsg
(),
null
,
null
,
null
,
null
,
null
);
}
// if (respose.isSuccess()) {
// //設置當前開台數據
// TableBean.DataBean openTableBean;
// if (tableExtBean != null) {
// openTableBean = tableExtBean;
// if (mSplitTableDialog != null) {
// mSplitTableDialog.closeDialog();
// }
// } else {
// openTableBean = getTableById(tableId);
// }
// OpenTableManage.getDefault().setPeopleNumber(0);
// OpenTableManage.getDefault().setPeopleNumber(openTableBean.getSeatCount());
//
// OrderBean orderBean = respose.getData();
// if (orderBean != null && respose.getData().getOrderDetails() != null) {
// if (respose.getData().getCreateTime() != null && openTableBean != null) {
// //將開台時間設置為訂單創建時間
// openTableBean.setCreateTime(TimeUtils.getFormatTime(respose.getData().getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT));
// }
// OpenTableManage.getDefault().setPeopleNumber(orderBean.getPerson());
//
// List<OrderBean.OrderDetailsBean> orderDetailsBeans = orderBean.getOrderDetails();
//
// setFoodPoints(orderDetailsBeans);
// //設置套餐topId
// setTopId(orderDetailsBeans);
// //緩存訂單信息
// MyOrderManage.getInstance().setOrderBean(new OrderBean(orderBean));
// //緩存食品信息
// List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
// MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
//
// if (orderBean.getMemberInfo() != null) {
// //设置会员信息
// MyOrderManage.getInstance().setMemberInfo(orderBean.getMemberInfo());
// MyOrderManage.getInstance().setMemberUpdateStatus(true + "-" + true);
// }else {
// MyOrderManage.getInstance().setMemberUpdateStatus(false + "-" + false);
// }
// } else {
// MyOrderManage.getInstance().setOrderBean(null);
// MyOrderManage.getInstance().setOrderFoodList(new ArrayList<>());
// }
// OpenTableManage.getDefault().setTableBean(openTableBean);
// mRootView.startMealStandActivity();
// } else {
// CommonTipDialog.showSurpisedDialog(IActivity, respose.getErrMsg(), null, null, null, null, null);
// }
}
});
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
View file @
1a28da3b
...
...
@@ -5,15 +5,14 @@ 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.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
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.
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.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
...
...
@@ -135,8 +134,8 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
}
else
{
tableBean
.
setTableName
(
tableBean
.
getTableName
());
}
OpenTableManage
.
getDefault
().
setTableBean
(
tableBean
);
OpenTableManage
.
getDefault
().
setPeopleNumber
(
datasBean
.
getPerson
()
);
tableBean
.
setPerson
(
datasBean
.
getPerson
()
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
tableBean
);
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
datasBean
.
getOrderDetails
();
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
...
...
@@ -179,13 +178,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
MyOrderManage
.
getInstance
().
setWholeAmount
(
wholeAmount
);
MyOrderManage
.
getInstance
().
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
OpenTableManage
.
getDefault
().
setPeopleNumber
(
orderDetailItem
.
getPerson
());
TableBean
.
DataBean
dataBean
=
new
TableBean
.
DataBean
();
dataBean
.
setTableName
(
orderDetailItem
.
getTableName
());
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
()))
{
dataBean
.
setCreateTime
(
TimeUtils
.
getStringByFormat
(
new
Date
(
orderDetailItem
.
getCreateTime
()),
TimeUtils
.
DEFAULT_DATE_FORMAT_YMDHM
));
}
OpenTableManage
.
getDefault
().
setTableBean
(
dataBean
);
dataBean
.
setPerson
(
orderDetailItem
.
getPerson
());
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
dataBean
);
if
(
orderDetailItem
.
getMemberInfo
()
!=
null
)
{
MyOrderManage
.
getInstance
().
setMemberInfo
(
orderDetailItem
.
getMemberInfo
());
...
...
@@ -205,8 +204,8 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
MyOrderManage
.
getInstance
().
clear
();
OpenTableManage
.
getDefault
().
setPeopleNumber
(
0
);
OpenTableManage
.
getDefault
().
setTableBean
(
null
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
null
);
});
}
...
...
@@ -229,7 +228,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
}
for
(
SectionTextItem3
item
:
printOrderMoneyList
)
{
BillOrderMoney
billOrderMoney
=
new
BillOrderMoney
();
billOrderMoney
.
set
Titl
e
(
item
.
getLeftText
());
billOrderMoney
.
set
Nam
e
(
item
.
getLeftText
());
billOrderMoney
.
setMoney
(
Double
.
parseDouble
(
item
.
getRightText
()));
printBillOrderMoneyList
.
add
(
billOrderMoney
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
1a28da3b
...
...
@@ -3,7 +3,6 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.graphics.drawable.Drawable
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.SystemClock
;
...
...
@@ -23,16 +22,14 @@ import android.widget.LinearLayout;
import
android.widget.RelativeLayout
;
import
android.widget.ScrollView
;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.
commodity
.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.order.
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.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
...
...
@@ -70,7 +67,6 @@ import com.jess.arms.di.component.AppComponent;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.util.QMUIDrawableHelper
;
import
org.simple.eventbus.EventBus
;
...
...
@@ -334,12 +330,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
TableBean
.
DataBean
tableBean
=
new
TableBean
.
DataBean
();
tableBean
.
setPerson
(
1
);
tableBean
.
setTableName
(
"外賣"
);
OpenTableManage
.
getDefault
().
setPeopleNumber
(
1
);
OpenTableManage
.
getDefault
().
setTableBean
(
tableBean
);
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
setPerson
(
1
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
tableBean
);
btn_send_order
.
setText
(
"送單信息"
);
}
else
{
if
(
OpenTableManage
.
getDefault
().
getPeopleNumber
()
==
0
)
{
if
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
().
getPerson
()
==
0
)
{
showChoosePeopleNumDialog
(
false
);
}
}
...
...
@@ -359,14 +354,14 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
private
void
initOrderDetail
()
{
TableBean
.
DataBean
dataBean
=
OpenTableManage
.
getDefault
().
getTableBean
();
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
dataBean
!=
null
)
{
if
(
TextUtils
.
isEmpty
(
dataBean
.
getTableNumber
()))
{
btn_table
.
setText
(
dataBean
.
getTableName
());
}
else
{
btn_table
.
setText
(
dataBean
.
getTableName
());
}
btn_numberman
.
setText
(
"人數:"
+
OpenTableManage
.
getDefault
().
getPeopleNumber
()
+
""
);
btn_numberman
.
setText
(
"人數:"
+
dataBean
.
getPerson
()
+
""
);
}
}
...
...
@@ -379,6 +374,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if
(
foodGroupList
.
size
()
<=
foodGroupColumn
)
{
Rows
=
1
;
}
if
(
Rows
==
0
)
{
Rows
=
2
;
}
mLayoutManager
=
new
PagerGridLayoutManager
(
Rows
,
foodGroupColumn
,
PagerGridLayoutManager
.
HORIZONTAL
);
// 水平分页布局管理器
...
...
@@ -601,7 +599,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public
void
onInputPhone
(
UseMemberDialog
dialog
,
String
phone
)
{
mPresenter
.
queryMember
(
2
,
phone
,
GsaCloudApplication
.
getGsPosShopId
(),
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
().
getTableNumber
());
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
mPresenter
.
queryMember
(
2
,
phone
,
GsaCloudApplication
.
getGsPosShopId
(),
dataBean
.
getId
(),
dataBean
.
getTableNumber
());
}
@Override
...
...
@@ -615,7 +614,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
dialog
.
dismiss
();
MyOrderManage
.
getInstance
().
setMemberInfo
(
mMemberInfo
);
//添加会员折扣行
mPresenter
.
addMemberDiscount
(
mMemberInfo
.
getId
(),
mMemberInfo
.
getMemberDiscount
(),
mMemberInfo
.
getMemberName
(),
mMemberInfo
.
getLevelName1
(),
BillOrderMoney
.
BILL_ITEM_NO_ORDER_STATUS
);
mPresenter
.
getShoppingCart
().
addMultyDiscount
(
mPresenter
.
getShoppingCart
().
createMemberDiscount
(
mMemberInfo
));
// mPresenter.getShoppingCart().addMultyDiscount(mMemberInfo.getId(), mMemberInfo.getMemberDiscount(), mMemberInfo.getMemberName(), mMemberInfo.getLevelName1(), BillOrderMoney.BILL_ITEM_NO_ORDER_STATUS);
useMember
();
if
(
MyOrderManage
.
getInstance
().
needUpdateMemberInfo
())
{
...
...
@@ -635,8 +635,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
btn_table
.
setBackgroundColor
(
Color
.
parseColor
(
"#336699"
));
MyOrderManage
.
getInstance
().
setMemberInfo
(
null
);
//刪除會員折扣行
mPresenter
.
removeMemberDiscountItem
();
mPresenter
.
updateBill
OrderItem
();
//
mPresenter.removeMemberDiscountItem();
mPresenter
.
updateBill
Info
();
if
(
MyOrderManage
.
getInstance
().
needUpdateMemberInfo
())
{
return
;
...
...
@@ -824,9 +824,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public
void
returnBeforeActivity
(
boolean
initTable
)
{
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
if
(
initTable
&&
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
&&
!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
initTable
&&
dataBean
!=
null
&&
!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
()),
"initTable_status_event"
);
}
killMyself
();
}
...
...
@@ -899,9 +900,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public
void
onComfirmClick
(
String
number
)
{
recordOperat
(
true
);
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
int
maxSeatCount
=
0
;
if
(
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
)
{
maxSeatCount
=
OpenTableManage
.
getDefault
().
getTableBean
()
.
getMaxSeatCount
();
if
(
dataBean
!=
null
)
{
maxSeatCount
=
dataBean
.
getMaxSeatCount
();
}
if
(
maxSeatCount
!=
0
&&
maxSeatCount
<
Integer
.
parseInt
(
number
))
{
showMessage
(
"最大就餐人數不能超過"
+
maxSeatCount
+
"人!"
);
...
...
@@ -1302,7 +1304,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if
(
TextUtils
.
isEmpty
(
qrCodeResult
))
{
return
;
}
mPresenter
.
queryMember
(
1
,
qrCodeResult
,
GsaCloudApplication
.
getGsPosShopId
(),
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
().
getTableNumber
());
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
mPresenter
.
queryMember
(
1
,
qrCodeResult
,
GsaCloudApplication
.
getGsPosShopId
(),
dataBean
.
getId
(),
dataBean
.
getTableNumber
());
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
1a28da3b
...
...
@@ -26,7 +26,7 @@ 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.
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.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.DESUtil
;
...
...
@@ -208,19 +208,21 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
private
void
initTopInfo
()
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
Date
dd
=
MyOrderManage
.
getInstance
().
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
String
tableno
=
""
;
if
(
!
OpenTableManage
.
getDefault
().
isSplite
()
&&
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
)
{
tableno
=
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableName
();
if
(
tableInfo
.
getSplitStatus
()
!=
0
)
{
tableno
=
tableInfo
.
getTableName
();
}
else
{
//TODO 暫未分檯功能
// tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim();
}
btn_table
.
setText
(
tableno
);
tv_time
.
setText
(
"時間:"
+
openTime
);
btn_people_num
.
setText
(
OpenTableManage
.
getDefault
().
getPeopleNumber
()
+
""
);
btn_people_num
.
setText
(
tableInfo
.
getPerson
()
+
""
);
tv_server_main
.
setText
(
GsaCloudApplication
.
getMemberName
());
}
...
...
@@ -475,9 +477,10 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
}
public
void
returnTableActivity
(
boolean
initTable
)
{
if
(
initTable
&&
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
&&
!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
initTable
&&
tableInfo
!=
null
&&
!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
mAppManager
.
killActivity
(
MealStandActivity
.
class
);
killMyself
();
...
...
@@ -540,10 +543,11 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
public
void
printSuccess
()
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
// 设置返回码和返回携带的数据
if
(
OpenTableManage
.
getDefault
()
!=
null
)
{
if
(
tableInfo
!=
null
)
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
setResult
(
Activity
.
RESULT_OK
,
null
);
killMyself
();
...
...
@@ -551,9 +555,10 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
public
void
sendSuccess
()
{
if
(
OpenTableManage
.
getDefault
()
!=
null
)
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
tableInfo
!=
null
)
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
setResult
(
Activity
.
RESULT_OK
,
null
);
killMyself
();
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
1a28da3b
...
...
@@ -9,14 +9,14 @@ import android.text.TextUtils;
import
android.util.Log
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
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.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.BigDecimalUtils
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
...
...
@@ -198,20 +198,20 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
private
void
initTopInfo
()
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
Date
dd
=
MyOrderManage
.
getInstance
().
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
String
tableno
=
""
;
if
(!
OpenTableManage
.
getDefault
().
isSplite
())
{
if
(
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
)
{
tableno
=
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
();
}
if
(
tableInfo
.
getSplitStatus
()
==
0
)
{
tableno
=
tableInfo
.
getTableName
();
}
else
{
tableno
=
OpenTableManage
.
getDefault
().
getTableBean
().
getTableName
().
trim
()
+
"-"
+
OpenTableManage
.
getDefault
().
getSplitNo
().
trim
()
;
tableno
=
tableInfo
.
getTableName
().
trim
()
;
}
btn_table
.
setText
(
tableno
);
tv_time
.
setText
(
"時間:"
+
openTime
);
btn_people_num
.
setText
(
OpenTableManage
.
getDefault
().
getPeopleNumber
()
+
""
);
btn_people_num
.
setText
(
tableInfo
.
getPerson
()
+
""
);
tv_server_main
.
setText
(
GsaCloudApplication
.
getMemberName
());
tv_action_name
.
setBackgroundColor
(
Color
.
parseColor
(
"#C50000"
));
...
...
@@ -414,8 +414,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
});
}
if
(
btnCancelInfo
.
length
()
==
0
)
if
(
btnCancelInfo
.
length
()
==
0
)
{
btnCancelInfo
=
" cancel "
;
}
dialogBuilder
.
addAction
(
btnCancelInfo
,
new
QMUIDialogAction
.
ActionListener
()
{
@Override
...
...
@@ -449,8 +450,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override
public
void
recordOperat
(
boolean
isPressButtonSound
)
{
if
(
isPressButtonSound
)
if
(
isPressButtonSound
)
{
VibratorUtils
.
pressButtonSound
(
this
);
}
}
@Override
...
...
@@ -462,9 +464,11 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
public
void
paySuccess
()
{
//修改結賬方式數據
setBillMoney
();
if
(!
MyOrderManage
.
getInstance
().
isModifyOrder
()
&&
OpenTableManage
.
getDefault
()
!=
null
&&
OpenTableManage
.
getDefault
().
getTableBean
()
!=
null
)
{
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(!
MyOrderManage
.
getInstance
().
isModifyOrder
())
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
OpenTableManage
.
getDefault
().
getTableBean
().
getId
(),
OpenTableManage
.
getDefault
().
getTableBean
()
.
getTableNumber
()),
"initTable_status_event"
);
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
tableInfo
.
getId
(),
tableInfo
.
getTableNumber
()),
"initTable_status_event"
);
}
showMessage
(
"支付成功"
);
...
...
@@ -502,7 +506,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
//清空賬單數據
MyOrderManage
.
getInstance
().
clear
();
//清空開檯數據
OpenTableManage
.
getDefault
().
clear
();
DoshokuOrder
.
getInstance
().
initialization
();
setResult
(
Activity
.
RESULT_OK
,
null
);
killMyself
();
});
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
View file @
1a28da3b
...
...
@@ -233,11 +233,13 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
//总的页数向上取整
totalPage
=
(
int
)
Math
.
ceil
(
foodGroupList
.
size
()
*
1.0
/
GoldConstants
.
foodGriupPageSize
);
int
Rows
=
foodGroupRow
;
if
(
foodGroupList
.
size
()
<=
foodGroupColumn
)
{
Rows
=
1
;
}
if
(
Rows
==
0
)
{
Rows
=
2
;
}
mLayoutManager
=
new
PagerGridLayoutManager
(
Rows
,
foodGroupColumn
,
PagerGridLayoutManager
.
HORIZONTAL
);
// 水平分页布局管理器
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
1a28da3b
...
...
@@ -11,8 +11,10 @@ import android.widget.LinearLayout;
import
android.widget.SimpleAdapter
;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent
;
...
...
@@ -350,6 +352,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
public
void
startMealStandActivity
()
{
BaseOrder
.
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
startActivity
(
new
Intent
(
this
,
MealStandActivity
.
class
));
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
View file @
1a28da3b
...
...
@@ -14,15 +14,14 @@ 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.b
ean
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.b
illItem
.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.
bean
.OrderDetail
;
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.
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.LanguageUtils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
...
...
@@ -32,6 +31,7 @@ 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
;
...
...
@@ -465,8 +465,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
}
else
{
tableBean
.
setTableName
(
tableBean
.
getTableName
());
}
OpenTableManage
.
getDefault
().
setTableBean
(
tableBean
);
OpenTableManage
.
getDefault
().
setPeopleNumber
(
datasBean
.
getPerson
()
);
tableBean
.
setPerson
(
datasBean
.
getPerson
()
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
tableBean
);
List
<
OrderBean
.
OrderDetailsBean
>
orderDetailsBeans
=
datasBean
.
getOrderDetails
();
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailsBeans
));
...
...
@@ -492,14 +492,15 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
MyOrderManage
.
getInstance
().
setOrderId
(
orderDetailItem
.
getId
());
MyOrderManage
.
getInstance
().
setWholeAmount
(
getTotalMoney
());
MyOrderManage
.
getInstance
().
setTotalAmount
(
orderDetailItem
.
getTotalAmount
());
OpenTableManage
.
getDefault
().
setPeopleNumber
(
orderDetailItem
.
getPerson
());
TableBean
.
DataBean
dataBean
=
new
TableBean
.
DataBean
();
dataBean
.
setTableName
(
orderDetailItem
.
getTableName
());
if
(!
TextUtils
.
isEmpty
(
orderDetailItem
.
getCreateTime
())){
dataBean
.
setCreateTime
(
TimeUtils
.
getStringByFormat
(
new
Date
(
orderDetailItem
.
getCreateTime
()),
TimeUtils
.
DEFAULT_DATE_FORMAT_YMDHM
));
}
OpenTableManage
.
getDefault
().
setTableBean
(
dataBean
);
dataBean
.
setPerson
(
orderDetailItem
.
getPerson
());
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
dataBean
);
List
<
PayMethod
>
payMethodList
=
getPayMethodList
(
orderDetailItem
.
getOrderPays
());
if
(
payMethodList
!=
null
)
{
...
...
@@ -518,10 +519,9 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
MyOrderManage
.
getInstance
().
clear
();
OpenTableManage
.
getDefault
().
setPeopleNumber
(
0
);
OpenTableManage
.
getDefault
().
setTableBean
(
null
);
DoshokuOrder
.
getInstance
().
setOpenTableInfo
(
null
);
});
}
...
...
@@ -531,7 +531,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if
(
mOrderCenterMoneyList
!=
null
)
{
for
(
SectionTextItem3
item
:
mOrderCenterMoneyList
)
{
BillOrderMoney
billOrderMoney
=
new
BillOrderMoney
();
billOrderMoney
.
set
Titl
e
(
item
.
getLeftText
());
billOrderMoney
.
set
Nam
e
(
item
.
getLeftText
());
billOrderMoney
.
setMoney
(
Double
.
parseDouble
(
item
.
getRightText
()));
billOrderMoneyList
.
add
(
billOrderMoney
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderMoneyAdapter.java
View file @
1a28da3b
...
...
@@ -7,7 +7,8 @@ import android.widget.ImageView;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.order.bean.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
...
...
@@ -26,7 +27,7 @@ import butterknife.BindView;
* 描述:
*/
public
class
OrderMoneyAdapter
extends
DefaultAdapter
<
Bill
OrderMoney
>
{
public
class
OrderMoneyAdapter
extends
DefaultAdapter
<
Bill
Item
>
{
private
Activity
mContext
;
private
String
cashStr
;
...
...
@@ -37,7 +38,7 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
private
boolean
isUseFreeServicePayMethod
=
false
;
private
int
BillTotalFontSize
;
public
OrderMoneyAdapter
(
Activity
context
,
List
<
Bill
OrderMoney
>
infos
,
String
cashStr
)
{
public
OrderMoneyAdapter
(
Activity
context
,
List
<
Bill
Item
>
infos
,
String
cashStr
)
{
super
(
infos
);
this
.
mContext
=
context
;
this
.
cashStr
=
cashStr
;
...
...
@@ -60,7 +61,7 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
}
@Override
public
BaseHolder
<
Bill
OrderMoney
>
getHolder
(
View
v
,
int
viewType
)
{
public
BaseHolder
<
Bill
Item
>
getHolder
(
View
v
,
int
viewType
)
{
return
new
OrderMoneyItemHolder
(
v
);
}
...
...
@@ -69,7 +70,7 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
return
R
.
layout
.
table_item_order_money
;
}
class
OrderMoneyItemHolder
extends
BaseHolder
<
Bill
OrderMoney
>
{
class
OrderMoneyItemHolder
extends
BaseHolder
<
Bill
Item
>
{
@BindView
(
R2
.
id
.
ll_container
)
LinearLayout
ll_container
;
...
...
@@ -86,9 +87,9 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
}
@Override
public
void
setData
(
Bill
OrderMoney
datasBean
,
int
position
)
{
public
void
setData
(
Bill
Item
datasBean
,
int
position
)
{
tv_title
.
setText
(
datasBean
.
get
Titl
e
());
tv_title
.
setText
(
datasBean
.
get
Nam
e
());
if
(
datasBean
.
getMoney
()
<
0
)
{
tv_money
.
setText
(
"-"
+
cashStr
+
Math
.
abs
(
datasBean
.
getMoney
()));
...
...
@@ -146,8 +147,8 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
public
interface
OnItemClickListener
{
void
onItemClick
(
Bill
OrderMoney
datasBean
,
int
position
);
void
onItemClick
(
Bill
Item
datasBean
,
int
position
);
void
onItemDeleteClick
(
Bill
OrderMoney
datasBean
,
int
position
);
void
onItemDeleteClick
(
Bill
Item
datasBean
,
int
position
);
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
1a28da3b
...
...
@@ -9,7 +9,8 @@ import android.widget.RelativeLayout;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderDetail
;
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
;
...
...
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