Commit 1a28da3b by 宁斌

餐檯下單優化

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