Commit 19072f96 by 宁斌

1、餐檯模式使用會員修改

2、删除食品页面, 送单接口调整
3、首页多次登出 再次进入,退出不了应用
parent e3e7e244
......@@ -32,11 +32,15 @@ import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.arch.QMUIFragment;
import com.qmuiteam.qmui.skin.QMUISkinMaker;
import com.trello.rxlifecycle2.android.FragmentEvent;
import java.util.Observable;
import javax.inject.Inject;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import io.reactivex.Observer;
import io.reactivex.subjects.BehaviorSubject;
import io.reactivex.subjects.Subject;
import me.yokeyword.fragmentation.ExtraTransaction;
......@@ -68,6 +72,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
final SupportFragmentDelegate mDelegate = new SupportFragmentDelegate(this);
protected BaseFragmentActivity _mActivity;
private Observable mObservable;
@NonNull
@Override
......
......@@ -58,7 +58,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
*/
@Module
public abstract class ClientModule {
public static int TIME_OUT = 10;
public static int TIME_OUT = 15;
/**
* 提供 {@link Retrofit}
......
......@@ -10,7 +10,9 @@
android:networkSecurityConfig="@xml/network_android"
android:theme="@style/AppTheme">
<activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/>
<activity android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity" />
<activity
android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity"
android:launchMode="singleInstance"/>
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
......@@ -10,7 +10,9 @@
android:networkSecurityConfig="@xml/network_android"
android:theme="@style/AppTheme">
<activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/>
<activity android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity" />
<activity
android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity"
android:launchMode="singleInstance"/>
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
......@@ -364,7 +364,7 @@ public class GsaCloudApplication extends BaseApplication {
}
/**
* 获取系统上下文:用于ToastUtil类
* 获取系统上下文
*/
public static GsaCloudApplication getAppContext() {
return mAppContext;
......
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import android.text.TextUtils;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
......@@ -14,7 +15,7 @@ import lombok.Data;
* 描述:
*/
@Data
public class MemberInfo {
public class MemberInfo implements Serializable {
/**
* ablediscount : 0
......@@ -198,7 +199,7 @@ public class MemberInfo {
}
@Data
public static class CreateTimeBean {
public static class CreateTimeBean implements Serializable{
/**
* date : 28
* day : 4
......@@ -224,7 +225,7 @@ public class MemberInfo {
}
@Data
public static class OptTimeBean {
public static class OptTimeBean implements Serializable{
/**
* date : 25
* day : 6
......@@ -250,7 +251,7 @@ public class MemberInfo {
}
@Data
public static class UpdateTimeBean {
public static class UpdateTimeBean implements Serializable{
/**
* date : 23
* day : 4
......@@ -276,7 +277,7 @@ public class MemberInfo {
}
@Data
public static class MemberExpireDateBean {
public static class MemberExpireDateBean implements Serializable{
/**
* date : 25
* day : 6
......@@ -302,7 +303,7 @@ public class MemberInfo {
}
@Data
public static class VaildTimeBean {
public static class VaildTimeBean implements Serializable{
/**
* date : 25
* day : 6
......
......@@ -67,7 +67,6 @@ public class OrderDetail implements Serializable {
private int bgColor;
//字體色
private int fontColor;
//是否组合商品 1-组合商品 2-组合商品的子商品
private int ComboLevel = 0;
//套餐食品是否自動跟餐
......@@ -76,6 +75,19 @@ public class OrderDetail implements Serializable {
* 動態的最大選中數
*/
private String currentMaxNumber = "";
/**
* 删除食品相关
*/
//该食品是否修改过
private boolean isModify = false;
//修改食品前的数量
private int modifyBeforeNumber = 0;
//取消食品备注
private String cancelReason;
//取消食品原因ID
private int reasonId;
//取消食品数量
private int cancelNumber;
//"food" or "discount" or "modifiy"
private int prop = FOOD_PROP;
/**
......@@ -297,6 +309,20 @@ public class OrderDetail implements Serializable {
this.currentMaxNumber = orderDetail.currentMaxNumber;
this.pointsAdd = orderDetail.pointsAdd;
this.pointsRedeem = orderDetail.pointsRedeem;
this.isModify = orderDetail.isModify;
this.modifyBeforeNumber = orderDetail.modifyBeforeNumber;
this.cancelReason = orderDetail.cancelReason;
this.reasonId = orderDetail.reasonId;
this.cancelNumber = orderDetail.cancelNumber;
}
public boolean isModify() {
if (!isNew && modifyBeforeNumber != 0 && number != modifyBeforeNumber) {
isModify = true;
} else {
isModify = false;
}
return isModify;
}
public int getSelected() {
......
package com.gingersoft.gsa.cloud.base.common.bean;
import java.io.Serializable;
import lombok.Data;
/**
......@@ -69,7 +71,7 @@ public class OrderDiscount {
}
@Data
public static class Respose {
public static class Respose implements Serializable {
/**
* 整單折扣ID
......
......@@ -26,10 +26,14 @@ public class OrderPayRequest {
private int tableId;
private String tableNumber;
private long memberId;
//當前加的積分
/**當前加的積分*/
private Double pointsAdd;
//當前減去的積分
/**當前減去的積分*/
private Double pointsUse;
/**
* 是否免服務費(0:否 1:是)
*/
private int whetherFreeService;
private List<orderPay> orderPays = new ArrayList<>();
@Data
......
......@@ -37,7 +37,7 @@ public class RestaurantExpandInfoUtils {
GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1?true:false);
}
if (expandInfo.getSettingName().equals(ExpandConstant.AutoPrinterParper)) {
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1?true:false);
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1 ? true:false);
}
}
}
......
......@@ -174,6 +174,7 @@ public class TableBean {
tableBean.setId(dataBean.getId());
tableBean.setTableName(dataBean.getTableName() + "-" + dataBean.getTableNumber());
tableBean.setOrderId(dataBean.getOrderId());
tableBean.setMemberId(dataBean.getMemberId());
// tableBean.setRestaurantId();
// tableBean.setQrCode();
// tableBean.setQrCodeImg();
......@@ -191,6 +192,7 @@ public class TableBean {
tableBean.setId(dataBean.getId());
tableBean.setTableName(mainTable.getTableName() + "-" + dataBean.getTableNumber());
tableBean.setOrderId(dataBean.getOrderId());
tableBean.setMemberId(dataBean.getMemberId());
// tableBean.setRestaurantId();
// tableBean.setQrCode();
// tableBean.setQrCodeImg();
......
......@@ -36,6 +36,7 @@ public class TableExtBean {
private int id;
private int tableId;
private long orderId;
private long memberId;
private int inUse;
private int tableStatus;
private String deviceName;
......
......@@ -5,6 +5,7 @@ import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
......@@ -27,7 +28,9 @@ import java.util.List;
public class MyOrderManage {
private static MyOrderManage myOrderManage;
/**外賣接單*/
/**
* 外賣接單
*/
private static OrderDetails.DataBean dataBean;
public static MyOrderManage getInstance() {
......@@ -37,9 +40,6 @@ public class MyOrderManage {
return myOrderManage;
}
private Activity context;
// private MealStandPresenter presenter;
private boolean overMaxQty = false;
private int Languageindex;
private boolean Edit_Send = false;
......@@ -72,6 +72,10 @@ public class MyOrderManage {
*/
private List<OrderDetail> newFoodList = new ArrayList<>();
/**
* 記錄刪除的食品以及原因
*/
private List<DeleteOrderRequest> deleteOrders;
/**
* 整單折扣,服務費
*/
protected List<BillOrderMoney> orderMoneyList = new ArrayList<>();
......@@ -80,29 +84,31 @@ public class MyOrderManage {
*/
private List<PayMethod> billMoney = new ArrayList<>();
/**
* 結賬前積分(堂食結賬)
* 合計
*/
private Double pointsOld;
private double wholeAmount = 0.0;
/**
* 結賬后積分(堂食結賬)
* 總金額
*/
private Double pointsNow;
private double totalAmount = 0.0;
/**
* 結賬加的積分(堂食結賬)
* 本次加多少積分
*/
private Double pointsAdd;
private float addPoints;
/**
* 結賬減去的積分(堂食結賬)
* 之前有多少積分
*/
private Double pointsUse;
private float oldPoints;
/**
* 合計
* 現在有多少積分
*/
private double wholeAmount = 0.0;
private float nowPoint;
/**
* 總金額
* 結賬積分QRCode
*/
private double totalAmount = 0.0;
private String integralQrcode;
/**
* 記錄修改訂單操作
......@@ -164,6 +170,21 @@ public class MyOrderManage {
this.memberInfo = memberInfo;
}
public List<DeleteOrderRequest> getDeleteOrders() {
if (deleteOrders == null) {
deleteOrders = new ArrayList<>();
}
return deleteOrders;
}
public void setDeleteOrders(List<DeleteOrderRequest> deleteOrders) {
this.deleteOrders = deleteOrders;
}
public void addDeleteOrder(DeleteOrderRequest orderRequest){
getDeleteOrders().add(orderRequest);
}
public void changeNumber(int number) {
if (orderFoodList.size() <= 0) {
......@@ -310,18 +331,13 @@ public class MyOrderManage {
if (billMoney != null) {
billMoney.clear();
}
if (pointsOld != null) {
pointsOld = null;
}
if (pointsNow != null) {
pointsNow = null;
}
if (pointsAdd != null) {
pointsAdd = null;
}
if (pointsUse != null) {
pointsUse = null;
if (deleteOrders != null) {
deleteOrders.clear();
}
addPoints = 0;
oldPoints = 0;
nowPoint = 0;
integralQrcode = "";
wholeAmount = 0.0;
totalAmount = 0.0;
orderBean = null;
......@@ -440,36 +456,36 @@ public class MyOrderManage {
this.mseq = mseq;
}
public Double getPointsOld() {
return pointsOld;
public float getAddPoints() {
return addPoints;
}
public void setPointsOld(Double pointsOld) {
this.pointsOld = pointsOld;
public void setAddPoints(float addPoints) {
this.addPoints = addPoints;
}
public Double getPointsNow() {
return pointsNow;
public float getOldPoints() {
return oldPoints;
}
public void setPointsNow(Double pointsNow) {
this.pointsNow = pointsNow;
public void setOldPoints(float oldPoints) {
this.oldPoints = oldPoints;
}
public Double getPointsAdd() {
return pointsAdd;
public float getNowPoint() {
return nowPoint;
}
public void setPointsAdd(Double pointsAdd) {
this.pointsAdd = pointsAdd;
public void setNowPoint(float nowPoint) {
this.nowPoint = nowPoint;
}
public Double getPointsUse() {
return pointsUse;
public String getIntegralQrcode() {
return integralQrcode;
}
public void setPointsUse(Double pointsUse) {
this.pointsUse = pointsUse;
public void setIntegralQrcode(String integralQrcode) {
this.integralQrcode = integralQrcode;
}
public List<OrderDetail> getOrderFoodList() {
......
......@@ -5,19 +5,19 @@ import android.graphics.Canvas;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
/**
* 二维码生成工具类
* Created by Alex on 2016/10/10.
*/
public class QRCodeUtil {
/**
* 生成二维码Bitmap
......@@ -73,6 +73,36 @@ public class QRCodeUtil {
}
/**
* 根据指定内容生成自定义宽高的二维码图片
*
* @param content 需要生成二维码的内容
* @param width 二维码宽度
* @param height 二维码高度
* @throws WriterException 生成二维码异常
*/
public static Bitmap makeQRImage(String content, int width, int height) throws WriterException {
Hashtable<EncodeHintType, Object> hints = new Hashtable<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
hints.put(EncodeHintType.MARGIN, 0); // default is 4
// 图像数据转换,使用了矩阵转换
BitMatrix bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
int[] pixels = new int[width * height];
// 按照二维码的算法,逐个生成二维码的图片,两个for循环是图片横列扫描的结果
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if (bitMatrix.get(x, y))
pixels[y * width + x] = 0xff000000;
else
pixels[y * width + x] = 0xffffffff;
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
return bitmap;
}
/**
* 在二维码中间添加Logo图案
*/
private static Bitmap addLogo(Bitmap src, Bitmap logo) {
......
......@@ -73,5 +73,22 @@ public class FunctionManager {
return functions;
}
private static boolean ready;
private static int number;
private static class ReaderThread extends Thread {
@Override
public void run() {
while (!ready) {
Thread.yield();
}
System.out.println(number);
}
}
public static void main(String[] args) {
new ReaderThread().start();
number = 42;
ready = true;
}
}
......@@ -77,11 +77,12 @@ public class MyResponseErrorListener implements ResponseErrorListener {
showloggedDialog(activity, ArmsUtils.getString(context, R.string.response_error_request_logged));
}
} else {
// if (httpException.code() == 400) {
// //Bad Request
// Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity();
// toLoginActivity(activity);
// }
if (httpException.code() == 400) {
//Bad Request
ArmsUtils.killAll();
Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity();
toLoginActivity(activity);
}
msg = httpException.message();
}
return msg;
......
......@@ -7,6 +7,7 @@ import com.jess.arms.di.module.ClientModule;
import io.rx_cache2.internal.RxCache;
public class MyRxCacheConfiguration implements ClientModule.RxCacheConfiguration {
@Override
public RxCache configRxCache(Context context, RxCache.Builder builder) {
// 当数据无法加载时,使用过期数据
......
......@@ -25,7 +25,6 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
activity.getIntent().putExtra("isInitToolbar", true);
//这里全局给Activity设置toolbar和title,你想象力有多丰富,这里就有多强大,以前放到BaseActivity的操作都可以放到这里
// new ToolbarUtil(activity).setToolbar();
}
}
......@@ -48,6 +47,11 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
} else if (name.equals("OrderCenterActivity") || name.equals("OrderDetailActivity")) {
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
}
GsaCloudApplication.getAppContext().setCurrentActivity(activity);
}
......
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.ui.bean.view;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.database.bean.Discount;
......@@ -124,16 +125,14 @@ public class SectionTextItem3 {
return sectionTextItem3List;
}
public static List<SectionTextItem3> discountTransSectionTextItem3(Discount discount) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
public static SectionTextItem3 discountTransSectionTextItem3(OrderDiscount.Respose discount) {
SectionTextItem3 sectionTextItem3 = new SectionTextItem3();
sectionTextItem3.setLeftText(discount.getRemark());
sectionTextItem3.setCenterText(String.valueOf(0));
sectionTextItem3.setRightText(String.valueOf(discount.getAmount()));
sectionTextItem3.setRightText(String.valueOf(discount.getDiscountAmount()));
sectionTextItem3.setLeftTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3.setRightTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3List.add(sectionTextItem3);
return sectionTextItem3List;
return sectionTextItem3;
}
public static SectionTextItem3 roundingTransSectionTextItem3(double amuout) {
......
......@@ -32,7 +32,7 @@ public class OrderPayView extends LinearLayout {
private BillMethodAdapter mBillMethodAdapter;
private int foodCount;
private OnSureClickLisenter mOnSureClickLisenter;
private OnWhetherFreeServiceChangeLisenter mOnWhetherFreeServiceChangeLisenter;
private TextView tvDifferenceName;
private TextView tvDifferenceMoney;
......@@ -67,6 +67,10 @@ public class OrderPayView extends LinearLayout {
super(context, attrs, defStyleAttr);
}
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
public void loadInfo(Context context, List<PayMethod> mBillMethodList, double totalAmount, int foodCount) {
this.totalAmount = totalAmount;
this.mBillMoneyList = new ArrayList<>();
......@@ -108,6 +112,9 @@ public class OrderPayView extends LinearLayout {
//替换掉第一个
mBillMoneyList.remove(0);
}
setWhetherFreeServiceCallback(method);
//是否同步金額
//固定金額 (0:否 1:是)
if (method.getWhetherFixedAmount() == 1) {
......@@ -160,6 +167,8 @@ public class OrderPayView extends LinearLayout {
mBillMoneyAdapter.notifyDataSetChanged();
//設置差額狀態
setDifferenceText(context);
setWhetherFreeServiceCallback(null);
}
});
......@@ -203,6 +212,29 @@ public class OrderPayView extends LinearLayout {
this.addView(view);
}
/**
* 設置是否免服務費回調
*/
public void setWhetherFreeServiceCallback(PayMethod addPayMethod) {
int whetherFreeService = 0;
if (addPayMethod != null) {
if (addPayMethod.getWhetherFreeService() == 1) {
whetherFreeService = 1;
}
}
if (whetherFreeService == 0) {
for (PayMethod payMethod : mBillMoneyList) {
if (payMethod.getWhetherFreeService() == 1) {
whetherFreeService = 1;
break;
}
}
}
if (mOnWhetherFreeServiceChangeLisenter != null) {
mOnWhetherFreeServiceChangeLisenter.onWhetherFreeServiceChange(whetherFreeService);
}
}
public void notifyBillMethodAdapter(List<PayMethod> mBillMethodList) {
if (mBillMethodAdapter != null)
mBillMethodAdapter.setNewData(mBillMethodList);
......@@ -259,6 +291,7 @@ public class OrderPayView extends LinearLayout {
return null;
}
/**
* 獲取找零或貼士金額
*
......@@ -356,13 +389,23 @@ public class OrderPayView extends LinearLayout {
btn_order_count.setVisibility(View.INVISIBLE);
}
tv_total.setText("$" + totalAmount);
}
public interface OnSureClickLisenter {
void onClick(List<PayMethod> mBillMoneyList);
public void setOnWhetherFreeServiceChangeLisenter(OnWhetherFreeServiceChangeLisenter onWhetherFreeServiceChangeLisenter) {
this.mOnWhetherFreeServiceChangeLisenter = onWhetherFreeServiceChangeLisenter;
}
public void setmOnSureClickLisenter(OnSureClickLisenter mOnSureClickLisenter) {
this.mOnSureClickLisenter = mOnSureClickLisenter;
}
public interface OnWhetherFreeServiceChangeLisenter {
void onWhetherFreeServiceChange(int whetherFreeService);
}
public interface OnSureClickLisenter {
void onClick(List<PayMethod> mBillMoneyList);
}
}
......@@ -148,6 +148,9 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("qrCodeResult","");
setResult(CALL_BACK_QR_RESULT,intent);
killMyself();
}
});
......@@ -155,6 +158,14 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
}
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("qrCodeResult","");
setResult(CALL_BACK_QR_RESULT,intent);
killMyself();
}
@Override
public void initLanguage() {
}
......@@ -241,13 +252,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
} else {
finish();
}
// if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_CHOOSE_QRCODE_FROM_GALLERY) {
// final String picturePath = BGAPhotoPickerActivity.getSelectedPhotos(data).get(0);
// // 本来就用到 QRCodeView 时可直接调 QRCodeView 的方法,走通用的回调
// mZXingView.decodeQRCode(picturePath);
//
// }
}
@Override
......@@ -283,7 +287,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
@Override
public void onScanQRCodeSuccess(String result) {
Log.i(TAG, "onScanQRCodeSuccess:" + result);
showMessage("掃描結果: " + result);
vibrate();
mZXingView.startSpot();
......@@ -316,7 +319,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
showMessage("打開相機出錯!");
}
//解析二维码图片,返回结果封装在Result对象中
private com.google.zxing.Result parseQRcodeBitmap(Uri uri) {
String path = getPath(mContext, uri);
......
package com.gingersoft.gsa.cloud.zxing;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.View;
public class PointsOverlayView extends View {
PointF[] points;
private Paint paint;
public PointsOverlayView(Context context) {
super(context);
init();
}
public PointsOverlayView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public PointsOverlayView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setColor(Color.YELLOW);
paint.setStyle(Paint.Style.FILL);
}
/**
* @param points
*/
public void setPoints(PointF[] points) {
this.points = points;
invalidate();
}
@Override public void draw(Canvas canvas) {
super.draw(canvas);
if (points != null) {
for (PointF pointF : points) {
canvas.drawCircle(pointF.x, pointF.y, 10, paint);
}
}
}
}
......@@ -24,6 +24,7 @@ import com.gingersoft.coldchain_module.mvp.presenter.OrderDetailsPresenter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.MyPrintDocumentAdapter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsBtnAdapter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsFoodAdapter;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
......@@ -130,7 +131,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailsPresenter> im
requestPermissions(null);
mPresenter.findOrderDetails(orderId, isRead);
// mPresenter.download("https://labels.shipany.io/sbx2/325764d7-b2e2-4d8b-9a68-7f4473719f9c/2020-08-27/20200827171831451_SF5805023992121_144ac51b-5370-46db-9e8d-50904e33b1b7.pdf");
List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(this, FunctionManagerConstans.takeaway.class, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn");
List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), FunctionManagerConstans.takeaway.class, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn");
btnBuilder = BtnBuilder.getInstance(functionByResModule);
}
......
......@@ -29,7 +29,6 @@ public class DownloadManager {
private static DownloadManager downloadManager;
private Context context;
//当前请求响应成功数
private int responseSuccessCount;
//当前请求响应失敗数
......@@ -44,8 +43,7 @@ public class DownloadManager {
return downloadManager;
}
public DownloadManager takeRequestExecute(Context context, List<DownloadRequest> requests, DownloadPresenter presenter) {
this.context = context;
public DownloadManager takeRequestExecute(List<DownloadRequest> requests, DownloadPresenter presenter) {
this.requestCount = requests.size();
//重置响应数
this.responseSuccessCount = 0;
......
......@@ -21,24 +21,6 @@ public class DownloadTaskImp implements Runnable {
@Override
public void run() {
// DownloadManager.getInstance().download(request);
// switch (request.getDownTag()) {
// case 0:
// presenter.downFun();
// break;
// case 1:
// presenter.downFoodList();
// break;
// case 2:
// presenter.downModifier();
// break;
// case 3:
// presenter.downCombo();
// break;
// case 4:
// presenter.downFoodModifier();
// break;
// }
switch (request.getDownTag()) {
case 0:
presenter.downFun(request.getDownTag());
......
......@@ -154,7 +154,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
List<DownloadRequest> requests = getDownloadRequests(getDownloadUrls(restaurantId), restaurantId);
DownloadManager.getInstance().takeRequestExecute(IActivity, requests, this);
DownloadManager.getInstance().takeRequestExecute(requests, this);
// .setDownloadResultListener(new DownloadManager.OnDownloadResultListener() {
//
// @Override
......
......@@ -28,7 +28,7 @@
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity"
android:launchMode="singleTop">
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
......@@ -38,9 +38,8 @@
</activity>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTop" />
android:launchMode="singleTask"/>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity"/>
<meta-data
......
......@@ -10,8 +10,10 @@ package="com.gingersoft.gsa.cloud.login">
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTop"/>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTask"/>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity">
<intent-filter>
......
......@@ -22,6 +22,7 @@ import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
......@@ -71,8 +72,15 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
mRootView.startToSwitchServer();
return;
}
RequestBody requestBody;
requestBody = new FormBody.Builder()
if (!DeviceUtils.netIsConnected(GsaCloudApplication.getAppContext())) {
//防止沒有網絡 請求登錄接口卡在歡迎頁
if (IAcitivity instanceof LoginActivity) {
} else {
mRootView.launchActivity(new Intent(IAcitivity, LoginActivity.class));
return;
}
}
RequestBody requestBody = new FormBody.Builder()
.add("userName", account.trim() + "")
.add("passWord", pwd.trim() + "")
.build();
......@@ -130,7 +138,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Override
public void onNext(@NonNull BrandsBean info) {
if (info != null) {
if(TextUtil.isNotEmptyOrNullOrUndefined(info.getMessage())){
if (TextUtil.isNotEmptyOrNullOrUndefined(info.getMessage())) {
mRootView.showMessage(info.getMessage());
}
mRootView.saveRestaurantListInfo(info.getData());
......@@ -166,7 +174,8 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Override
public void onNext(PublicBean s) {
if (s != null && s.isSuccess()) {
List<LoginLimitBean> loginLimitBeans = new Gson().fromJson(GsonUtils.GsonString(s.getData()), new TypeToken<List<LoginLimitBean>>() {}.getType());
List<LoginLimitBean> loginLimitBeans = new Gson().fromJson(GsonUtils.GsonString(s.getData()), new TypeToken<List<LoginLimitBean>>() {
}.getType());
// List<LoginLimitBean> logins = GsonUtils.GsonToList("", LoginLimitBean.class);
if (loginLimitBeans == null || loginLimitBeans.size() <= 0) {
if (isDownload) {
......
......@@ -261,13 +261,18 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
}
@Override
protected void onStop() {
super.onStop();
killMyself();
}
@Override
public void jumpDownloadActivity() {
CC.obtainBuilder("Component.Download")
.setActionName("showDownloadActivity")
.addParam("fromPage", 1)
.build()
.call();
killMyself();
}
@Override
......@@ -281,7 +286,6 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
.setActionName("showMainActivity")
.build()
.call();
killMyself();
}
@Override
......
......@@ -101,7 +101,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
String pwd = Aes.aesDecrypt((String) SPUtils.get(mContext, UserConstans.LOGIN_PASSWORD, ""));
mPresenter.login(SPUtils.get(mContext, UserConstans.LOGIN_USERNAME, "") + "", pwd);
} else {
killMyself();
startActivity(new Intent(mContext, LoginActivity.class));
}
}
......@@ -136,6 +135,12 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
magicIndicator.attachToViewPager(mVpGuide);
}
@Override
protected void onStop() {
super.onStop();
killMyself();
}
private void updateUI(int position) {
mTvGuideTitle.setText(guideBeanList.get(position).getTitle());
mTvGuideDetails.setText(guideBeanList.get(position).getDetails());
......@@ -274,7 +279,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
//立即體驗
SPUtils.put(mContext, UserConstans.IS_GUIDE, false);
startActivity(new Intent(mContext, LoginActivity.class));
killMyself();
}
}
}
......@@ -2,9 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.INTERNET" />
<application>
<activity android:name=".mvp.ui.activity.NewMainActivity" />
<activity
android:name=".mvp.ui.activity.NewMainActivity"
android:launchMode="singleTask" />
<activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" />
......@@ -22,4 +23,5 @@
android:name="design_height_in_dp"
android:value="640" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
......@@ -10,7 +10,7 @@
android:networkSecurityConfig="@xml/network_android"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.LanguageActivity"></activity>
<activity android:name=".mvp.ui.activity.LanguageActivity"/>
<activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" />
......@@ -18,6 +18,7 @@
<activity android:name=".mvp.ui.activity.LookLogActivity" />
<activity
android:name=".mvp.ui.activity.NewMainActivity"
android:launchMode="singleTask"
android:theme="@style/MainTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......
......@@ -189,6 +189,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.call();
}
@Override
protected void onRestart() {
super.onRestart();
tvStoreName.setText(GsaCloudApplication.getRestaurantName(mContext));
}
/**
* 初始化側邊欄菜單項
*/
......@@ -283,7 +289,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1));
// } else {
List<Function> orderFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.order, "order");
List<Function> orderFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.order, "order");
if (orderFuncations.size() > 0) {
functions.addAll(orderFuncations);
sl_order.setVisibility(View.VISIBLE);
......@@ -291,7 +297,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
sl_order.setVisibility(View.INVISIBLE);
}
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.manager, "manager");
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.manager, "manager");
if (managerFuncations.size() > 0) {
functions.addAll(managerFuncations);
ll_management.setVisibility(View.VISIBLE);
......@@ -299,7 +305,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
ll_management.setVisibility(View.GONE);
}
List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.employee, "employee");
List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.employee, "employee");
if (employeeFuncations.size() > 0) {
functions.addAll(employeeFuncations);
ll_staff_management.setVisibility(View.VISIBLE);
......@@ -550,12 +556,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.setActionName("stopPrintService")
.build()
.call();
killMyself();
//跳轉登陸頁面
CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA")
.build()
.call();
finish();
}
@Override
......@@ -583,8 +589,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
showMessage("再按一次退出應用");
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
ArmsUtils.exitApp();
}
}
return true;
......
......@@ -221,9 +221,9 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
if (fragment != null) {
if (fragment instanceof AreaListFragment) {
AreaListFragment areaListFragment = (AreaListFragment) fragment;
// if (!areaListFragment.isRadioEdit()) {
if (!areaListFragment.isRadioEdit()) {
areaListFragment.updateAreaData(areas);
// }
}
} else if (fragment instanceof TableListFragment) {
TableListFragment tableListFragment = (TableListFragment) fragment;
tableListFragment.setAreaData(areas);
......
......@@ -85,11 +85,11 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> {
// }
// });
if (isRadioEdit) {
cb_checked.setChecked(datasBean.isChecked());
cb_checked.setVisibility(View.VISIBLE);
cb_checked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
buttonView.setChecked(isChecked);
datasBean.setChecked(isChecked);
}
});
......@@ -102,6 +102,7 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> {
ed_name.setFocusable(false);
ed_name.setFocusableInTouchMode(false);
}
cb_checked.setChecked(datasBean.isChecked());
}
}
......
......@@ -177,7 +177,7 @@ public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements A
textView.setLineSpacing(QMUIDisplayHelper.dp2px(mContext, 4), 1.0f);
int padding = QMUIDisplayHelper.dp2px(mContext, 20);
textView.setPadding(padding, padding, padding, padding);
textView.setText("默認值為100,數字越小排序\n" + "越靠前");
textView.setText("默認值為100,數字越小排序\n" + "越靠前!");
int color = QMUIResHelper.getAttrColor(mContext, R.attr.app_skin_common_title_text_color);
textView.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_black));
// QMUISkinValueBuilder builder = QMUISkinValueBuilder.acquire();
......
......@@ -106,7 +106,6 @@
android:layout_height="wrap_content"
app:backgroundColor="@color/theme_white_color"
app:corner="rightBottom"
app:primaryText="堂"
app:primaryTextColor="#249B65"
app:primaryTextSize="10sp" />
......
......@@ -103,7 +103,7 @@ public class PrintBill extends PrinterRoot {
layout.addView(getDiningBillPayMethod(mContext, MyOrderManage.getInstance().getBillMoney()));
layout.addView(getLine(mContext));
layout.addView(getTableMealMemberIntegerView(mContext, getOrderDetail()));
layout.addView(getTableMealMemberIntegerView(mContext, getOrderDetail(),MyOrderManage.getInstance().getIntegralQrcode()));
return zoomBitmap(deviceBean, viewToBitmap(mContext, layout));
}
......@@ -111,9 +111,9 @@ public class PrintBill extends PrinterRoot {
private OrderDetails.DataBean getOrderDetail() {
OrderDetails.DataBean dataBean = new OrderDetails.DataBean();
dataBean.setNowPoints(MyOrderManage.getInstance().getPointsNow());
dataBean.setAddPoints(MyOrderManage.getInstance().getPointsAdd());
dataBean.setOldPoints(MyOrderManage.getInstance().getPointsUse());
dataBean.setNowPoints(MyOrderManage.getInstance().getNowPoint());
dataBean.setAddPoints(MyOrderManage.getInstance().getAddPoints());
dataBean.setOldPoints(MyOrderManage.getInstance().getOldPoints());
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
if (memberInfo != null) {
......
......@@ -8,10 +8,12 @@ import android.hardware.usb.UsbManager;
import android.os.Build;
import android.os.IBinder;
import android.os.RemoteException;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -35,14 +37,17 @@ import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.BitmapUtil;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils;
import com.gingersoft.gsa.cloud.base.utils.view.QRCodeUtil;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.PrinterWriter58mm;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.google.zxing.WriterException;
import com.hyweb.n5.lib.constant.PrinterConstant;
import com.hyweb.n5.lib.util.PrinterUtil;
import com.hyweb.n5.server.aidl.IOnPrintCallback;
......@@ -563,14 +568,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return view;
}
protected View getTableMealMemberIntegerView(Context mContext, OrderDetails.DataBean data) {
View view = View.inflate(mContext, R.layout.print_model_takeaway_member_integer_info, null);
protected View getTableMealMemberIntegerView(Context mContext, OrderDetails.DataBean data, String integralQrcode) {
View view = View.inflate(mContext, R.layout.print_model_meal_member_integer_info, null);
TextView tvMemberNum = view.findViewById(R.id.tv_print_model_member_number);//會員號碼
TextView tvMemberName = view.findViewById(R.id.tv_print_model_member_name);//會員名稱
TextView tvMemberPhone = view.findViewById(R.id.tv_print_model_member_phone);//會員電話
TextView tvNowPoint = view.findViewById(R.id.tv_print_model_nowPoints);//現在的積分
TextView tvAddPoints = view.findViewById(R.id.tv_print_model_addPoints);//本次添加積分
TextView tvOldPoints = view.findViewById(R.id.tv_print_model_oldPoints);//之前的積分
LinearLayout llIntegralQrcode = view.findViewById(R.id.ll_integral_qrcode);
ImageView ivIntegralQrcode = view.findViewById(R.id.iv_integral_qrcode);
if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) {
tvAddPoints.setText("本次積分:" + data.getAddPoints());
tvNowPoint.setText("結餘積分:" + data.getNowPoints());
......@@ -583,6 +592,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
tvMemberPhone.setText("會員電話:" + getReplaceAfter(data.getPHONE()));
}
}
//生成積分QRCode碼(飯糰APP掃碼獲得積分)
if (TextUtils.isEmpty(integralQrcode)) {
llIntegralQrcode.setVisibility(View.GONE);
} else {
llIntegralQrcode.setVisibility(View.VISIBLE);
try {
Bitmap QRImage = QRCodeUtil.makeQRImage(integralQrcode, 180, 180);
ivIntegralQrcode.setImageBitmap(QRImage);
} catch (WriterException e) {
e.printStackTrace();
}
}
return view;
}
......@@ -639,7 +660,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return getVerticalRecyclerView(mContext, new BillItemAdapter(data));
}
protected void addTakeawayPayViews(Context mContext, ViewGroup parent, List<OrderDetails.DataBean.PayMultiple> payMultiples, double payAmount){
protected void addTakeawayPayViews(Context mContext, ViewGroup parent, List<OrderDetails.DataBean.PayMultiple> payMultiples, double payAmount) {
if (payMultiples != null && payMultiples.size() > 0) {
for (OrderDetails.DataBean.PayMultiple payMultiple : payMultiples) {
if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
......
......@@ -4,7 +4,6 @@ import android.app.Activity;
import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
......@@ -14,16 +13,13 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Query;
/**
......@@ -102,6 +98,8 @@ public interface MealStandContract {
void showModifyLayoutVisibility(boolean show);
void showBtnMealModifyRestoreVisibility(boolean show);
void setOrderFoodCount(String number);
void setMealRvScrollToPosition(int position);
......
......@@ -28,8 +28,6 @@ import okhttp3.RequestBody;
public interface OrderPayContract {
interface View extends BaseOrderContract.View {
void setDifferenceText();
void showTipDialog(String msg, String btnCancelInfo, String btnOkInfo);
void showStatusDialog(int operatType);
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import lombok.Data;
......@@ -79,25 +81,35 @@ public class OrderDetailItem implements Serializable {
// private double tipsPrice;
// private byte linePayType;
/**折扣ID*/
private Long discountId;
/**折扣金額*/
private double discountAmount;
/**折扣比例*/
private int discountValue;
/**折扣名稱*/
private String remark;
/**折扣類型*/
private int type;
// /**折扣ID*/
// private Long discountId;
// /**折扣金額*/
// private double discountAmount;
// /**折扣比例*/
// private int discountValue;
// /**折扣名稱*/
// private String remark;
// /**折扣類型*/
// private int type;
/**生成訂單時間*/
private String createTime;
/**結賬時間*/
private String endTime;
/**訂單食品詳情*/
private List<OrderBean.OrderDetailsBean> orderDetails;
/**折扣詳情*/
private List<OrderDiscount.Respose> discountDetails;
/**支付詳情*/
private List<OrderPayBean> orderPays;
/**餐檯信息*/
private TableBean.DataBean restaurantTable;
/**會員信息*/
private MemberInfo memberInfo;
/**會員積分碼*/
private String verifyCode;
/**
* 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消;
......@@ -112,7 +124,7 @@ public class OrderDetailItem implements Serializable {
@Data
public static class OrderPayBean implements Serializable{
public static final class OrderPayBean implements Serializable{
private long id;
private long lineOrderId;
private int payType;
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-02
* 修订历史:2020-09-02
* 描述:
*/
@Data
public class OrderPayRespose {
/**
* verifyCode : 387F9C1D8B2AD91B42982C8E50835A8C
* oldPoints : 0
*/
private String verifyCode;
//本次加多少積分
private float addPoints;
//之前有多少積分
private float oldPoints;
//現在有多少積分
private float nowPoint;
}
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
......@@ -19,12 +20,19 @@ import lombok.Data;
public class AddOrderRequest {
private long orderId;
/**
* 使用會員ID
*/
private Long memberId;
private long tableId;
private String tableNumber;
/**賬單小數*/
/**
* 賬單小數
*/
private Double rounding;
private List<OrderDiscount.Request> discountDetails;
private Map<String, List<OrderBean.OrderDetailsBean>> maps;
private List<DeleteOrderRequest> deleteOrders;
}
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import java.util.List;
import java.util.Map;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-02-22
* 修订历史:2020-02-22
* 描述:
*/
public class DeleteOrderRequest {
@Data
public static class Request{
private List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete;
private long orderId ;
private long tableId;
private String tableNumber;
private byte type;
private long reasonId;
}
@Data
public static class DeleteBean{
private long id;
private int number;
}
}
......@@ -5,14 +5,9 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import java.util.List;
import java.util.Map;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.FormBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
......
......@@ -138,9 +138,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
initOrderAdapter();
initItemClickListener();
// removeBillOrderMoney();
if (this instanceof MealStandPresenter) {
if (!containsTableService()) {
addTableServiceAmount();
}
if (this instanceof MealStandPresenter) {
addSentOrderDiscount();
addOrderRounding();
//設置賬單總金額
......@@ -150,15 +151,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
}
private void removeBillOrderMoney() {
private boolean containsTableService() {
for (int i = mOrderMoneyList.size() - 1; i >= 0; i--) {
BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
if ((billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) && billOrderMoney.getStatus() == 0) {
//未送單折扣不刪除
} else {
mOrderMoneyList.remove(i);
if (billOrderMoney.getType() == BillOrderMoney.SERVERCHARGE_TYPE) {
return true;
}
}
return false;
}
@Override
......@@ -290,6 +290,9 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
* @param isPrint 是否印單
*/
public void sendOrder(boolean isPrint) {
if (!sendOrderConditionFilter()) {
return;
}
if (MyOrderManage.getInstance().getOrderId() < 1) {
if (getFoodSize() == 0) {
Class[] parameterTypes = {boolean.class};
......@@ -325,9 +328,32 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 送單條件過濾
*
* @return
*/
public boolean sendOrderConditionFilter() {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
if (memberInfo == null) {
for (OrderDetail item : getNewOrderFoodLists()) {
if (item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) {
String msg = "有積分食品,請使用會員后結賬!";
CommonTipDialog.showSurpisedDialog(IActivity, msg, BaseOrderPresenter.class, this,
"", null, null);
return false;
}
}
}
return true;
}
/**
* 更新賬單金額
*/
public void updateOrderMoneyItem() {
if (!containsTableService()) {
addTableServiceAmount();
}
updateFoodDiscount();
updateTableServiceAmount();
updateOrderDiscount();
......@@ -350,17 +376,20 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
//整單折扣
Discount discount = new Discount();
discount.setId(orderDiscount.getDiscountId());
discount.setType(orderDiscount.getType());
discount.setRemark(orderDiscount.getRemark());
if (orderDiscount.getDiscountValue() != 0) {
//百分比折扣
discount.setType(1);
discount.setDiscount_value(orderDiscount.getDiscountValue());
addOrderDiscount(true, discount, 1);
continue;
}
if (orderDiscount.getDiscountAmount() != 0) {
//金額折扣
discount.setType(0);
discount.setAmount(orderDiscount.getDiscountAmount());
addOrderDiscount(true, discount, 1);
continue;
}
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//會員折扣
......@@ -419,7 +448,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
}
/**
* 添加賬單折扣
*
......@@ -662,6 +690,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getFoodTotal() {
double total = 0.0;
for (OrderDetail food : myOrderManage.getOrderFoodList()) {
if (food.getNumber() == 0)
continue;
if (food.getType() == OrderDetail.DISCOUNT_TYPE) {
//折扣金额直接减掉
total = MoneyUtil.sub(total, Math.abs(food.getPrice()));
......@@ -685,6 +715,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
int orderSize = myOrderManage.getOrderFoodList().size();
for (int i = 0; i < orderSize; i++) {
OrderDetail food = myOrderManage.getOrderFoodList().get(i);
if (food.getNumber() == 0)
continue;
if (food.getItemType() == 1) {
if (food.getAblediscount() == 1) {
total = MoneyUtil.sum(total, food.getPrice());
......@@ -759,6 +791,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
int orderSize = myOrderManage.getOrderFoodList().size();
for (int i = 0; i < orderSize; i++) {
OrderDetail food = myOrderManage.getOrderFoodList().get(i);
if (food.getNumber() == 0)
continue;
if (food.getItemType() == 1) {
if (food.getScAble() == 1) {
total = MoneyUtil.sum(total, food.getPrice());
......@@ -792,8 +826,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getTotalAmountFilterByType(int... filterTypes) {
double foodTotal = getFoodTotal();
for (BillOrderMoney item : mOrderMoneyList) {
// if (item.getType() != BillOrderMoney.ROUNDING_TYPE) {
if (!filterType(item.getType(), filterTypes)) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getWhetherFreeService() == 1) {
//TODO 免服務費
} else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
if (0 > foodTotal) {
//折扣金額不能超出總額
......@@ -801,6 +837,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
}
}
}
if (foodTotal < 0) {
foodTotal = 0;
}
......@@ -824,12 +861,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getTotalAmount() {
double foodTotal = getFoodTotal();
for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getWhetherFreeService() == 1) {
//TODO 免服務費
} else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
if (0 > foodTotal) {
//折扣金額不能超出總額
foodTotal = 0;
}
}
}
if (foodTotal < 0) {
foodTotal = 0;
}
......@@ -901,6 +942,47 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return str;
}
/**
* 返回選中已送單食品
*
* @return
*/
protected List<OrderDetail> getSelectedOldFood() {
List<OrderDetail> selectedOldOrders = new ArrayList<>();
List<OrderDetail> oldOrders = getOldOrderFoodLists();
int start_position = mSelectMealAdapter.getSelect_full_start_position();
int end_position = mSelectMealAdapter.getSelect_full_end_position();
for (int i = oldOrders.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = oldOrders.get(i);
if (orderDetail1.getType() != DISCOUNT_TYPE) {
selectedOldOrders.add(orderDetail1);
}
}
}
return selectedOldOrders;
}
/**
* 返回選中已送單食品、折扣
*
* @return
*/
protected List<OrderDetail> getSelectedOldFoodAndDicount() {
List<OrderDetail> selectedOldOrders = new ArrayList<>();
List<OrderDetail> oldOrders = getOldOrderFoodLists();
int start_position = mSelectMealAdapter.getSelect_full_start_position();
int end_position = mSelectMealAdapter.getSelect_full_end_position();
for (int i = oldOrders.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = oldOrders.get(i);
selectedOldOrders.add(orderDetail1);
}
}
return selectedOldOrders;
}
/**
* 删除已选中的食品
*/
......@@ -976,10 +1058,17 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
setChildDiscountByMainAblediscount(newFoodList);
AddOrderRequest request = new AddOrderRequest();
request.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList));
request.setOrderId(MyOrderManage.getInstance().getOrderId());
request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
if (MyOrderManage.getInstance().getMemberInfo() != null) {
request.setMemberId(MyOrderManage.getInstance().getMemberInfo().getId());
}
request.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList));
if (myOrderManage.getDeleteOrders() != null) {
request.setDeleteOrders(myOrderManage.getDeleteOrders());
}
Double rounding = getRounding();
request.setRounding(rounding != null ? rounding : 0);
......@@ -1291,20 +1380,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 返回整單折扣
*
* @return
*/
protected BillOrderMoney getOrderDiscount() {
for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE) {
return item;
}
}
return null;
}
/**
* 返回未送單整單折扣
*
* @return
......@@ -1318,21 +1393,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return null;
}
/**
* 返回未送單會員折扣
*
* @return
*/
protected BillOrderMoney getMemberDiscount() {
for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) {
return item;
}
}
return null;
}
/**
* 返回未送單食品列表
*
......@@ -1394,6 +1454,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return myOrderManage.getOrderFoodList();
}
public OrderMoneyAdapter getOrderMoneyAdapter() {
return mOrderMoneyAdapter;
}
protected void sortSelectMealByIsNew() {
List<OrderDetail> orderDetail = mOrderFoodList;
List<OrderDetail> sortOrderList = new ArrayList<>();
......
package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
import android.util.SparseArray;
import android.view.View;
import android.widget.Button;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
......@@ -39,7 +35,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
......@@ -50,20 +46,14 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.PermissionUtil;
import com.jess.arms.utils.RxLifecycleUtils;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.tbruyelle.rxpermissions2.RxPermissions;
import org.simple.eventbus.EventBus;
import org.simple.eventbus.Subscriber;
import java.util.ArrayList;
......@@ -816,74 +806,112 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
/**
* 問題:刪除數量 1.賬單小數未更新 世維調整
* 刪除已送單食品
* 標記需刪除食品
*
* @param maxNumber
* @param deleteNumber
* @param reasonId
*/
public void deleteFood(int maxNumber, int deleteNumber, long reasonId) {
public void markDeleteFood(int maxNumber, int deleteNumber, int reasonId, String reason) {
String ids = getSelectedOldFoodIds();
if (TextUtils.isEmpty(ids)) {
return;
}
DeleteOrderRequest.Request request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber);
String deleteOrderRequest = GsonUtils.GsonString(request);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), deleteOrderRequest);
mModel.deleteFood(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseRespose info) {
if (info == null) {
mRootView.showMessage("刪除失敗");
return;
List<OrderDetail> oldOrders = getSelectedOldFoodAndDicount();
for (OrderDetail item : oldOrders) {
//保存取消前的數量
item.setModifyBeforeNumber(item.getNumber());
//將數量標記成已刪除
int afterDeleteNumber = item.getNumber() - deleteNumber;
if (afterDeleteNumber > 0) {
item.setNumber(afterDeleteNumber);
} else {
item.setNumber(0);
}
if (info.isSuccess()) {
mRootView.showMessage("刪除成功");
//删除所有已下单信息
deleteOldFood();
if (info.getData() != null && info.getData().getOrderDetails() != null) {
OpenTableManage.getDefault().setPeopleNumber(info.getData().getPerson());
//緩存訂單信息
MyOrderManage.getInstance().setOrderBean(new OrderBean(info.getData()));
//緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
mOrderFoodList.addAll(orderDetailList);
item.setCancelReason(reason);
item.setReasonId(reasonId);
item.setCancelNumber(deleteNumber);
}
mSelectMealAdapter.notifyDataSetChanged();
//重新排序食品 将已下单食品放到前面
sortSelectMealByIsNew();
//將取消信息保存到訂單信息類中
DeleteOrderRequest request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber);
myOrderManage.addDeleteOrder(request);
mSelectMealAdapter.notifyDataSetChanged();
mSelectMealAdapter.setIndex();
mRootView.showBtnMealModifyRestoreVisibility(true);
//重新獲取沽清數據
getCurrentSoldoutFood();
// String deleteOrderRequest = GsonUtils.GsonString(request);
// RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), deleteOrderRequest);
//
// mModel.deleteFood(requestBody)
// .subscribeOn(Schedulers.io())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
// .subscribeOn(AndroidSchedulers.mainThread())
// .observeOn(AndroidSchedulers.mainThread())
// .doAfterTerminate(() -> mRootView.hideLoading())
// .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
// .subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
//
// @Override
// public void onNext(@NonNull BaseRespose info) {
//
// if (info == null) {
// mRootView.showMessage("刪除失敗");
// return;
// }
//
// if (info.isSuccess()) {
//
// mRootView.showMessage("刪除成功");
//
// //删除所有已下单信息
// deleteOldFood();
//
// if (info.getData() != null && info.getData().getOrderDetails() != null) {
//
// OpenTableManage.getDefault().setPeopleNumber(info.getData().getPerson());
// //緩存訂單信息
// MyOrderManage.getInstance().setOrderBean(new OrderBean(info.getData()));
// //緩存食品信息
// List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
//
// mOrderFoodList.addAll(orderDetailList);
// }
//
// //重新排序食品 将已下单食品放到前面
// sortSelectMealByIsNew();
//
// mSelectMealAdapter.notifyDataSetChanged();
// mSelectMealAdapter.setIndex();
//
// //重新獲取沽清數據
// getCurrentSoldoutFood();
//
// mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// } else {
// mRootView.showMessage("獲取訂單數據失敗");
// }
// }
// });
}
mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
} else {
mRootView.showMessage("獲取訂單數據失敗");
/**
* 恢復標記刪除的食品
*/
public void restoreDeleteFood() {
for (OrderDetail item : mOrderFoodList) {
if(!item.isModify()){
continue;
}
item.setNumber(item.getModifyBeforeNumber());
item.setModifyBeforeNumber(0);
item.setCancelReason("");
item.setReasonId(0);
item.setCancelNumber(0);
}
});
myOrderManage.setDeleteOrders(null);
mSelectMealAdapter.notifyDataSetChanged();
}
public void queryMember(int type, String parm, String shopName, int tableId, String tableNumber) {
......@@ -1033,7 +1061,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCancelFoodDialog.build().dismiss();
mCancelFoodDialog = null;
}
deleteFood(maxNumber, deleteNumber, reasonId);
markDeleteFood(maxNumber, deleteNumber, reasonId, reason);
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
......@@ -2056,12 +2084,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @param deleteNumber
* @return
*/
private DeleteOrderRequest.Request getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) {
List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber);
private DeleteOrderRequest getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) {
List<DeleteOrderRequest.DeleteBean> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber);
byte type = (byte) (myOrderManage.isModifyOrder() ? 2 : 1);
long orderId = MyOrderManage.getInstance().getOrderId();
DeleteOrderRequest.Request request = new DeleteOrderRequest.Request();
DeleteOrderRequest request = new DeleteOrderRequest();
request.setMapsDelete(mapsDelete);
request.setOrderId(orderId);
request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
......@@ -2079,21 +2107,20 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @param deleteNumber
* @return
*/
private List<Map<Byte, DeleteOrderRequest.DeleteBean>> getMapsDelete(String ids,
int maxNumber, int deleteNumber) {
List<Map<Byte, DeleteOrderRequest.DeleteBean>> deleteMaps = new ArrayList<>();
private List<DeleteOrderRequest.DeleteBean> getMapsDelete(String ids, int maxNumber, int deleteNumber) {
List<DeleteOrderRequest.DeleteBean> deleteMaps = new ArrayList<>();
//取消食品id
String[] idsArray = ids.split(",");
//取消食品數量
String[] quantitys = getQuantitys(idsArray.length, maxNumber, deleteNumber).split(",");
for (int i = 0; i < idsArray.length; i++) {
String[] quantitysStr = quantitys[i].split("_");
Map<Byte, DeleteOrderRequest.DeleteBean> map = new HashMap<>();
// Map<Byte, DeleteOrderRequest.DeleteBean> map = new HashMap<>();
DeleteOrderRequest.DeleteBean request = new DeleteOrderRequest.DeleteBean();
request.setId(Long.parseLong(idsArray[i]));
request.setNumber(Integer.parseInt(quantitysStr[1]));
map.put(Byte.parseByte(quantitysStr[0]), request);
deleteMaps.add(map);
// map.put(Byte.parseByte(quantitysStr[0]), request);
deleteMaps.add(request);
}
return deleteMaps;
}
......
......@@ -246,8 +246,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (MyOrderManage.getInstance().isModifyOrder()) {
//修改訂單隱藏送單,印單功能
mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24));
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
} else {
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, ComponentTable.table.class, ComponentTable.table.order, "order");
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentTable.table.class, ComponentTable.table.order, "order");
for (int i = 0; i < functions.size(); i++) {
if (functions.get(i).getParentId() == 0) {
functions.remove(i);
......@@ -726,6 +727,25 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog.build().show();
}
/**
* 轉移條件過濾
*
* @return
*/
public boolean transferFoodConditionFilter(long memberId) {
List<OrderDetail> oldOrderDetails = getSelectedOldFood();
for (OrderDetail item : oldOrderDetails) {
//積分食品轉移-》目標檯不是會員檯-》提示不可轉移
if ((item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) && memberId == 0) {
String msg = "積分食品轉移,目標檯不是會員檯,不可轉移!";
CommonTipDialog.showSurpisedDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
"", null, null);
return false;
}
}
return true;
}
public void removeOrderDetailItem(int index) {
if (index < mOrderMoneyList.size()) {
mOrderMoneyList.remove(index);
......
......@@ -13,12 +13,13 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.table.app.payment.PayConstant;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderPayRespose;
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.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.ui.view.OrderPayView;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......@@ -189,7 +190,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
if (baseResult.isSuccess()) {
List<PayMethod> payMethods = JsonUtils.parseArray(baseResult.getData(), PayMethod.class);
for (int i = 0; i < payMethods.size(); i++) {
//這裡有對象為null的清機 排除掉
//這裡有對象為null的情況 排除掉
if (payMethods.get(i) == null) {
payMethods.remove(i);
}
......@@ -234,33 +235,20 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
public void onNext(BaseResult baseResult) {
mRootView.hideLoading();
if (baseResult.isSuccess()) {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
if (memberInfo != null) {
setPoints(memberInfo);
}
OrderPayRespose orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayRespose.class);
MyOrderManage.getInstance().setAddPoints(orderPayRespose.getAddPoints());
MyOrderManage.getInstance().setNowPoint(orderPayRespose.getNowPoint());
MyOrderManage.getInstance().setOldPoints(orderPayRespose.getOldPoints());
MyOrderManage.getInstance().setIntegralQrcode(orderPayRespose.getVerifyCode());
// MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
// if (memberInfo != null) {
// setPoints(memberInfo);
// }
//結賬成功
mRootView.paySuccess();
}
}
private void setPoints(MemberInfo memberInfo) {
double pointsAdd = getPointsAdd();
double pointsUse = getPointsRedeem();
double pointsOld = memberInfo.getMemberPoint();
double pointsNow = pointsOld + (pointsAdd + pointsUse);
MyOrderManage.getInstance().setPointsOld(pointsOld);
MyOrderManage.getInstance().setPointsNow(pointsNow);
if (pointsAdd > 0) {
MyOrderManage.getInstance().setPointsAdd(pointsAdd);
}
if (pointsUse > 0) {
MyOrderManage.getInstance().setPointsUse(pointsUse);
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
......@@ -278,14 +266,16 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
payRequest.setLinePayType(orderPayView.getLinePayType());
payRequest.setTableId(OpenTableManage.getDefault().getTableBean().getId());
payRequest.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
payRequest.setMemberId(GsaCloudApplication.getMemberId(mApplication));
if (myOrderManage.getMemberInfo() != null) {
payRequest.setMemberId(myOrderManage.getMemberInfo().getId());
}
payRequest.setPointsAdd(getPointsAdd());
payRequest.setPointsUse(getPointsRedeem());
for (int i = 0; i < payMethodList.size(); i++) {
PayMethod payMethod = payMethodList.get(i);
OrderPayRequest.orderPay orderPay = new OrderPayRequest.orderPay();
orderPay.setPayType(payMethod.getId());
orderPay.setPayType(payMethod.getPayType());
if (payMethodList.size() == 2) {
if (i == 1) {
//小费放在第二种支付方式里面
......@@ -398,7 +388,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬前創建訂單或添加食品
*/
public void sendOrderBefore() {
if (hasNesOrderFoods() || getNesOrderDiscount() != null) {
if (hasNesOrderFoods() || getNesOrderDiscount() != null || hasDeleteFood()) {
//有食品或折扣未送單 先送單
sendOrder(false);
} else {
......@@ -407,13 +397,31 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
}
public void pressExact() {
// double differenceMoney = getDifferenceMoney();
// PayMethod billMoneyBean = getSelectBillMoney();
// if (billMoneyBean != null && differenceMoney > 0) {
// billMoneyBean.setPayMoney(billMoneyBean.getPayMoney() + differenceMoney);
// mBillMoneyAdapter.notifyDataSetChanged();
// }
/**
* 是否修刪除過食品
*
* @return
*/
private boolean hasDeleteFood() {
for (OrderDetail item : mOrderFoodList) {
if (item.isModify()) {
return true;
}
}
return false;
}
public void setWhetherFreeService(int whetherFreeService) {
//更新服務費中劃線
mOrderMoneyAdapter.setWhetherFreeService(whetherFreeService);
//更新總金額
updateOrderMoneyItem();
OrderPayView orderPayView = IActivity.getGsaPayView();
if (orderPayView != null) {
orderPayView.setTotalAmount(getTotalAmount());
orderPayView.initOrderDetail();
orderPayView.setDifferenceText(GsaCloudApplication.getAppContext());
}
}
/**
......@@ -430,20 +438,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
/**
* 是否現金支付
*
* @param datasBean
* @return
*/
private boolean isCashPayMethod(PayMethod datasBean) {
// if (datasBean.getPayType().equals(PayConstant.PAY_WAY_CASH)) {
return true;
// } else {
// return false;
// }
}
/**
* 獲取超出的金額為找零還是貼士: linePayType 1 tipsPrice 为找零 2 tipsPrice为贴上
* 現金,掃碼QR = 找零
* 信用卡 = 貼士
......@@ -469,17 +463,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
/**
* 獲取食品總金額
*
* @return
*/
private double getAmount() {
//支付總額減去找零或貼士
// return getBillMoney() - getTipsPrice();
return getBillMoney();
}
/**
* 獲取支付差額
*
* @return
......
......@@ -207,10 +207,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
});
}
public void initBottomFunctionItem() {
boolean addFuctions = false;
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, ComponentTable.table.class, ComponentTable.table.bottom, "bottom");
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentTable.table.class, ComponentTable.table.bottom, "bottom");
for (int i = 0; i < functions.size(); i++) {
if (functions.get(i).getParentId() == 0) {
//有配置餐檯操作模块
......
......@@ -3,12 +3,14 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
......@@ -121,14 +123,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
orderBean.setOrderNo(datasBean.getOrderNo());
orderBean.setPerson(datasBean.getPerson());
orderBean.setCreateTime(datasBean.getCreateTime());
if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails());
}
MyOrderManage.getInstance().setOrderBean(orderBean);
// TableBean.DataBean openTableBean = new TableBean.DataBean();
// openTableBean.setCreateTime(TimeUtil.getStringByFormat(new Date(datasBean.getCreateTime()), TimeUtil.dateFormatYMDHM));
// openTableBean.setTableName(datasBean.getTableName());
// openTableBean.setId(datasBean.getTableId());
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber());
} else {
tableBean.setTableName(tableBean.getTableName());
}
OpenTableManage.getDefault().setTableBean(tableBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
......@@ -136,6 +141,10 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo());
}
Intent intent = new Intent(IActivity, MealStandActivity.class);
IActivity.startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE);
}
......@@ -164,7 +173,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
double wholeAmount = getWholeAmount(orderDetailList);
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList(orderDetailItem,wholeAmount));
MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList(orderDetailItem, wholeAmount));
MyOrderManage.getInstance().setOrderId(orderDetailItem.getId());
MyOrderManage.getInstance().setWholeAmount(wholeAmount);
MyOrderManage.getInstance().setTotalAmount(orderDetailItem.getTotalAmount());
......@@ -191,7 +200,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
});
}
private List<BillOrderMoney> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) {
List<SectionTextItem3> printOrderMoneyList = new ArrayList<>();
List<BillOrderMoney> printBillOrderMoneyList = new ArrayList<>();
......@@ -199,10 +207,12 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
if (serviceAmountSection != null) {
printOrderMoneyList.add(serviceAmountSection);
}
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem, totalMoney);
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem);
if (discountSections != null) {
printOrderMoneyList.addAll(discountSections);
}
SectionTextItem3 roudingSection = getOrderRoudingSection(orderDetailItem);
if (roudingSection != null) {
printOrderMoneyList.add(roudingSection);
......@@ -234,21 +244,18 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
* 獲取賬單折扣列
*
* @param orderDetailItem
* @param totalMoney
* @return
*/
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem, double totalMoney) {
if (orderDetailItem.getRemark() != null) {
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem) {
List<SectionTextItem3> sectionTextItem3s = null;
if (orderDetailItem.getDiscountDetails() != null) {
sectionTextItem3s = new ArrayList<>();
//折扣
Discount discount = new Discount();
discount.setType(orderDetailItem.getType());
discount.setRemark(orderDetailItem.getRemark());
discount.setDiscount_value(orderDetailItem.getDiscountValue());
double discountPrice = Discount.calculationDiscount(discount, totalMoney);
discount.setAmount(discountPrice);
return SectionTextItem3.discountTransSectionTextItem3(discount);
for (OrderDiscount.Respose discount : orderDetailItem.getDiscountDetails()) {
sectionTextItem3s.add(SectionTextItem3.discountTransSectionTextItem3(discount));
}
return null;
}
return sectionTextItem3s;
}
/**
......
......@@ -168,7 +168,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@BindView(R2.id.btn_order_count)
Button btn_order_count;
//送单
@BindView(R2.id.fl_send_order)
FrameLayout fl_send_order;
@BindView(R2.id.btn_send_order)
......@@ -176,7 +175,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
// @BindView(R2.id.btn_send_order_machine_name)
// TextView btn_send_order_machine_name;
//印单
@BindView(R2.id.fl_printer_order)
FrameLayout fl_printer_order;
@BindView(R2.id.btn_order_printer)
......@@ -203,8 +201,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
// TextView btn_meal_discount;
@BindView(R2.id.btn_meal_delete)
TextView btn_meal_delete;
// @BindView(R2.id.btn_meal_modify_restore)
// ImageButton btn_meal_modify_restore;
@BindView(R2.id.btn_meal_modify_restore)
TextView btn_meal_modify_restore;
// @BindView(R2.id.btn_change_Language)
// ImageButton btn_change_Language;
// @BindView(R2.id.btn_food_merge)
......@@ -599,6 +597,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public void onUseMember(UseMemberDialog dialog) {
if (mMemberInfo != null) {
mUseMemberDialog.cancel();
MyOrderManage.getInstance().setMemberInfo(mMemberInfo);
//添加会员折扣行
mPresenter.addMemberDiscount(mMemberInfo.getId(), mMemberInfo.getMemberDiscount(), mMemberInfo.getMemberName(), mMemberInfo.getLevelName1());
......@@ -666,7 +665,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
@OnClick({R2.id.btn_key1, R2.id.btn_key2, R2.id.btn_key3, R2.id.btn_key4, R2.id.btn_key5, R2.id.btn_keys,
R2.id.btn_numberman, R2.id.btn_fid, R2.id.btn_meal_delete, R2.id.btn_send_order, R2.id.tv_no_save_return, R2.id.fl_order_content,
R2.id.btn_numberman, R2.id.btn_fid, R2.id.btn_meal_delete, R2.id.btn_meal_modify_restore, R2.id.btn_send_order, R2.id.tv_no_save_return, R2.id.fl_order_content,
R2.id.btn_taste, R2.id.btn_msg, R2.id.btn_delete, R2.id.btn_end, R2.id.iv_fine_back})
public void onClick(View v) {
......@@ -693,6 +692,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, false);
setPluMode();
} else if (id == R.id.btn_meal_modify_restore) {
mPresenter.restoreDeleteFood();
showBtnMealModifyRestoreVisibility(false);
} else if (id == R.id.btn_send_order) {
mPresenter.sendOrder(false);
} else if (id == R.id.fl_order_content) {
......@@ -758,6 +760,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mChooseNumberDialog.setCancelable(true);
mChooseNumberDialog.show();
break;
default:
break;
}
} else if (id == R.id.iv_fine_back) {
showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode);
......@@ -1056,6 +1060,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
case MealConstant.fine_ViewMode:
showModifyLayoutVisibility(true);
break;
default:
break;
}
}
......@@ -1239,6 +1245,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
} else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult");
mPresenter.queryMember(1, qrCodeResult, GsaCloudApplication.getGsPosShopId(mContext), OpenTableManage.getDefault().getTableBean().getId(), OpenTableManage.getDefault().getTableBean().getTableNumber());
}
}
......@@ -1271,6 +1278,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
rv_modifier.setLayoutParams(layoutParam);
}
@Override
public void showBtnMealModifyRestoreVisibility(boolean show) {
btn_meal_modify_restore.setVisibility(show ? View.VISIBLE : View.GONE);
}
private void setSelectFunctionVisibility(int visibility) {
btn_anti_selection.setVisibility(visibility);
btn_select_all.setVisibility(visibility);
......
......@@ -25,6 +25,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
......@@ -257,23 +258,12 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
tv_action_name.setVisibility(View.GONE);
}
// @Override
// protected void doOnBackPressed() {
//// super.doOnBackPressed();
// backPressed();
// }
@Override
public void onBackPressedSupport() {
super.onBackPressedSupport();
backPressed();
}
// @Override
// public void onBackPressed() {
// backPressed();
// }
@Override
public void initIntent() {
......@@ -332,6 +322,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
public void clickTableItem(TableBean.DataBean dataBean) {
if(!mPresenter.transferFoodConditionFilter(dataBean.getMemberId())){
return;
}
switch (mCurrentOperatType) {
case OrderConentOperatTypeConstant.transfer_food_2:
if (dataBean.getSplitStatus() == 1) {
......@@ -346,6 +339,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
}
}
@Override
public void onStartRefreshTableData() {
isRefreshData = true;
......@@ -577,7 +571,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
setResult(Activity.RESULT_OK, null);
killMyself();
}
}else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
} else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult");
}
......
......@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
......@@ -128,8 +129,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
// @BindView(R2.id.btn_order_count)
// Button btn_order_count;
//支付狀態Dialog
private StatusLoadingDialog mStatusLoadingDialog;
// private QMUITipDialog tipDialog;
@BindView(R2.id.gsa_pay_view)
OrderPayView gsaPayView;
......@@ -156,14 +155,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
private int pointRule;
/**
* N5相关
*/
private String N5_RESP;
//支付回调数据
private SaleRespose saleRespose;
//退款回调数据
private RefundRespose refundRespose;
private int mWhetherFreeService = 0;
public static void startOrderPayActivityFormSale(Context context, String response) {
Intent intent = new Intent(context, OrderPayActivity.class);
......@@ -200,10 +192,19 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
mPresenter.initAdapter();
// mPresenter.initBillListener();
mPresenter.getPayMethods();
initOrderPayView();
initTopInfo();
initOrderDetail();
initMemberInfo();
initN5RespCallBack();
}
private void initOrderPayView() {
gsaPayView.setOnWhetherFreeServiceChangeLisenter(new OrderPayView.OnWhetherFreeServiceChangeLisenter() {
@Override
public void onWhetherFreeServiceChange(int whetherFreeService) {
mPresenter.setWhetherFreeService(whetherFreeService);
}
});
}
private void initTopInfo() {
......@@ -230,20 +231,10 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
public void initOrderDetail() {
// int foodCount = mPresenter.getFoodCount();
// if (foodCount > 0) {
// btn_order_count.setText(String.valueOf(foodCount));
// btn_order_count.setVisibility(View.VISIBLE);
// } else {
// btn_order_count.setVisibility(View.INVISIBLE);
// }
double wholeAmount = mPresenter.getFoodTotal();
tv_whole.setText("合計 $" + wholeAmount);
MyOrderManage.getInstance().setWholeAmount(wholeAmount);
// tv_total.setText("$" + mPresenter.getTotalAmount());
// setDifferenceText();
}
private void initMemberInfo() {
......@@ -282,10 +273,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
showPoints = true;
}
}
if(!showPoints){
if (!showPoints) {
memberInfo = memberInfo + ":" + memberBean.getMemberPoint();
}
// memberIntegral = memberBean.getMemberPoint();
// memberPointRedeemCash = memberBean.getPointRedeemCash();
// //獲取積分支付抵扣金額
......@@ -299,30 +289,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
return memberInfo;
}
@Override
public void setDifferenceText() {
// double difference = mPresenter.getDifferenceMoney();
// if (difference < 0) {
// //貼士
// if (mPresenter.getLinePayType() == 1) {
// tv_difference_name.setText("找零");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.red));
// } else {
// tv_difference_name.setText("貼士");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.Grass_green));
// }
// tv_difference_money.setText("$" + Math.abs(difference));
// } else {
// //尚欠
// tv_difference_name.setText("尚欠金額");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.red));
// if (difference == 0)
// tv_difference_money.setText("$" + Math.abs(difference));
// else
// tv_difference_money.setText("-$" + Math.abs(difference));
// }
}
@OnClick({R2.id.btn_people_num, R2.id.btn_table, R2.id.btn_sure_pay, R2.id.btn_exact})
public void onClick(View v) {
......@@ -347,8 +313,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
showMessage("請選擇支付方式");
return;
}
mPresenter.pressExact();
setDifferenceText();
// mPresenter.pressExact();
// setDifferenceText();
}
// else if (id == R.id.btn_keypad) {
// if (mPresenter.getSelectBillMoney() == null) {
......@@ -367,64 +333,18 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
return false;
}
//
// @SwitchPrintMethod
// public void switchPrint(View v) {
//
// PrinterUtils.switchPrintMethod(mContext);
// }
private void backPressed() {
// if (isPrepay) {
// //恢復預結賬前的食品
// mPresenter.restorePrepayBeaforeOrderFoodList();
// }
killMyself();
}
// @Override
// protected void doOnBackPressed() {
//// super.doOnBackPressed();
// backPressed();
// }
@Override
public void onBackPressed() {
backPressed();
}
// private void tipMoneyInsufficient() {
// if (tipDialog == null) {
// tipDialog = new QMUITipDialog.Builder(this)
// .setIconType(QMUITipDialog.Builder.ICON_TYPE_INFO)
// .setTipWord("金額不足!")
// .create();
// }
// tipDialog.show();
// btn_order_count.postDelayed(new Runnable() {
// @Override
// public void run() {
// tipDialog.dismiss();
// }
// }, 1500);
// }
@Override
public void initIntent() {
Intent intent = getIntent();
N5_RESP = intent.getAction();
LogUtil.d(TAG, "initIntent N5_RESP: " + N5_RESP);
if (!TextUtils.isEmpty(N5_RESP)) {
if (N5_RESP.equals("SALE_RESP")) {
//N5支付回調数据
String saleDataJson = intent.getStringExtra("SALE_DATA");
saleRespose = GsonUtils.GsonToBean(saleDataJson, SaleRespose.class);
} else if (N5_RESP.equals("REFUND_RESP")) {
//N5退款回調数据
String refundDataJson = intent.getStringExtra("REFUND_DATA");
refundRespose = GsonUtils.GsonToBean(refundDataJson, RefundRespose.class);
}
}
}
@Override
......@@ -479,27 +399,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override
public void showStatusDialog(int operatType) {
if (mStatusLoadingDialog == null) {
mStatusLoadingDialog = new StatusLoadingDialog(this);
}
switch (operatType) {
case StatusLoadingDialog.SALE_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("支付");
mStatusLoadingDialog.setStatusText("支付中...");
break;
case StatusLoadingDialog.REFUND_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("退款");
mStatusLoadingDialog.setStatusText("退款中...");
break;
case StatusLoadingDialog.VOID_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("取消");
mStatusLoadingDialog.setStatusText("取消...");
break;
}
mStatusLoadingDialog.show();
}
@Override
......@@ -546,7 +445,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
PayMethod billMoneyBean = mPresenter.getSelectBillMoney();
billMoneyBean.setPayMoney(Double.parseDouble(money));
// mPresenter.getBillMoneyAdapter().notifyDataSetChanged();
setDifferenceText();
// setDifferenceText();
}
})
.show();
......@@ -583,13 +482,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
}
if (openInstruction) {
CC.obtainBuilder("Component.Print")
.setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_INSTRUCTION)
.build()
.callAsync((cc, result) -> {
// CC.obtainBuilder("Component.Print")
// .setActionName("printActivity")
// .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_INSTRUCTION)
// .build()
// .callAsync((cc, result) -> {
// });
printBill();
});
} else {
printBill();
}
......@@ -651,38 +550,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override
public StatusLoadingDialog getStatusLoadingDialog() {
return mStatusLoadingDialog;
return null;
}
@Override
public void showSaleStatusDialog(SaleRespose saleRespose) {
//顯示支付成功提示彈窗
showStatusDialog(StatusLoadingDialog.SALE_LOADING);
// switch (saleRespose.getSTATUS()) {
// case PayConstant.PAY_STATUS_00:
// boolean useExternalPrint = GSAApplication.deviceType != GSAApplication.DEVICE_PHONE && !AndroidSettingUtils.isUseExternalPrint();
// if (PayVariableManage.getInstance().isModifyOrderOperat()) {
// if (useExternalPrint) {
// //支付回传数据(手持設備打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_7);
// } else {
// //支付回传数据(外部打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_8);
// }
// } else {
// if (useExternalPrint) {
// //支付回传数据(外部打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_6);
// } else {
// //支付回传数据(手持設備打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_5);
// }
// }
// break;
// default:
// onPayFailure(saleRespose.getSTATUS());
// break;
// }
}
@Override
......@@ -692,33 +566,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override
public void onPayFailure(String status) {
mStatusLoadingDialog.loadFailure(status);
mStatusLoadingDialog.setOnLoadStautsListener(new StatusLoadingDialog.OnLoadStautsListener() {
@Override
public void loadSuccessEnd() {
// //只有支付成功才返回到原有页面
// EventBus.getDefault().postSticky(true, EventTagConstant.UPDATE_ORDER_LIST);
//
// mAppManager.killActivity(OrderContentActivity.class);
// mAppManager.killActivity(MealStandActivity.class);
// mAppManager.killActivity(OrderDetailActivity.class);
// mAppManager.killActivity(OrderPayActivity.class);
//// if (variableManage.isModifyOrderOperat()) {
//// mAppManager.killActivity(TableServiceActivity.class);
//// } else {
// mAppManager.killActivity(OrderManagementActivity.class);
//// }
}
@Override
public void loadFailureEnd() {
if (status.equals(PayConstant.PAY_STATUS_00)) {
returnTableActivityBefore();
}
}
});
}
@Override
......@@ -740,74 +587,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
}
public SaleRespose getSaleRespose() {
return saleRespose;
}
public void setSaleRespose(SaleRespose saleRespose) {
this.saleRespose = saleRespose;
}
// public boolean isPrepay() {
// return isPrepay;
// }
public void initN5RespCallBack() {
if (!TextUtils.isEmpty(N5_RESP)) {
if (N5_RESP.equals("SALE_RESP") && saleRespose != null) {
LogUtil.d(TAG, "initN5RespCallBack: " + N5_RESP + " " + saleRespose.toString());
showSaleStatusDialog(saleRespose);
} else if (N5_RESP.equals("REFUND_RESP") && refundRespose != null) {
showRefundStatusDialog(refundRespose);
}
}
}
private IN5Callback in5Callback = new IN5Callback() {
@Override
public void onSaleCall(SaleRespose response) {
saleRespose = response;
showMessage("onSaleCall: " + response.toString());
// showSaleStatusDialog(response);
}
@Override
public void onVoidCall(VoidRespose response) {
// showVoidStatusDialog(response);
}
@Override
public void onRefundCall(RefundRespose response) {
// showRefundStatusDialog(response);
}
@Override
public void onRetrievalCall(RetrievalRespose response) {
SaleRespose saleRespose = new SaleRespose();
saleRespose.setSTATUS(response.getSTATUS());
// showSaleStatusDialog(saleRespose);
}
@Override
public void onAdjustCall(AdjustTipRespose response) {
}
@Override
public void onSettleCall(SettlementRespose response) {
}
@Override
public void onPrinterCall(String response) {
}
};
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
......
......@@ -220,8 +220,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
@Override
public void initLanguage() {
tv_sold_hmmc.setText(LanguageUtils.get_language_system(this, "soldout_head_name", "項目名稱"));
tv_sold_hmsl.setText(LanguageUtils.get_language_system(this, "soldout_head_number", "數量"));
tv_sold_hmmc.setText(LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "soldout_head_name", "項目名稱"));
tv_sold_hmsl.setText(LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "soldout_head_number", "數量"));
}
@Override
......@@ -233,7 +233,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
}
private void initRecyclerHeight() {
int screenHeidth = ArmsUtils.getScreenHeidth(this);
int screenHeidth = ArmsUtils.getScreenHeidth(GsaCloudApplication.getAppContext());
LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams();
para1.height = screenHeidth * 33 / 100;
recycle_current_soldout_food.setLayoutParams(para1);
......@@ -279,7 +279,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
@Override
public void onItemClick(Food datasBean, int position) {
VibratorUtils.pressButtonSound(SoldoutCtrlActivity.this);
VibratorUtils.pressButtonSound(GsaCloudApplication.getAppContext());
datasBean.setSelected(true);
......@@ -302,7 +302,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
}
}
if (!isStopOpeart) {
String msg = LanguageUtils.get_language_system(SoldoutCtrlActivity.this, "whether.suspend.group", "是否暫停組別?") + datasBean.getFoodName() + "\"?";
String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.suspend.group", "是否暫停組別?") + datasBean.getFoodName() + "\"?";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getId(), 1, 2};
CommonTipDialog.showDoubtDialog(SoldoutCtrlActivity.this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters);
......@@ -396,13 +396,13 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} else {
id = datasBean.getFoodId();
} //恢復暫停數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {id, datasBean.getType(), 0};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters);
} else {
//恢復沽清數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getName() + "]";
String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {datasBean.getId()};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "restoreSoldoutCtrl", parameterTypes, parameters);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.app.ActivityManager;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Message;
import android.os.PersistableBundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
......@@ -170,9 +172,18 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
canceOperat();
}
@Override
protected void onRestart() {
super.onRestart();
mPresenter.initBottomFunction();
//開始刷新餐檯數據
onStartRefreshTableData();
}
@Override
protected void onResume() {
super.onResume();
protected void onStart() {
super.onStart();
mPresenter.initBottomFunction();
//開始刷新餐檯數據
onStartRefreshTableData();
......
......@@ -19,6 +19,7 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
......@@ -197,7 +198,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if (serviceAmountSection != null) {
mOrderCenterMoneyList.add(serviceAmountSection);
}
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem, totalMoney);
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem);
if (discountSections != null) {
mOrderCenterMoneyList.addAll(discountSections);
}
......@@ -279,21 +280,18 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
* 獲取賬單折扣列
*
* @param orderDetailItem
* @param totalMoney
* @return
*/
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem, double totalMoney) {
if (orderDetailItem.getRemark() != null) {
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem) {
List<SectionTextItem3> sectionTextItem3s = null;
if (orderDetailItem.getDiscountDetails() != null) {
sectionTextItem3s = new ArrayList<>();
//折扣
Discount discount = new Discount();
discount.setType(orderDetailItem.getType());
discount.setRemark(orderDetailItem.getRemark());
discount.setDiscount_value(orderDetailItem.getDiscountValue());
double discountPrice = Discount.calculationDiscount(discount, totalMoney);
discount.setAmount(discountPrice);
return SectionTextItem3.discountTransSectionTextItem3(discount);
for (OrderDiscount.Respose discount : orderDetailItem.getDiscountDetails()) {
sectionTextItem3s.add(SectionTextItem3.discountTransSectionTextItem3(discount));
}
return null;
}
return sectionTextItem3s;
}
/**
......@@ -402,21 +400,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
orderBean.setStatus(datasBean.getStatus());
orderBean.setOrderNo(datasBean.getOrderNo());
orderBean.setPerson(datasBean.getPerson());
// orderBean.setType(datasBean.getType());
// orderBean.setRemark(datasBean.getRemark());
// orderBean.setDiscountAmount(datasBean.getDiscountAmount());
// orderBean.setDiscountValue(datasBean.getDiscountValue());
orderBean.setCreateTime(datasBean.getCreateTime());
orderBean.setOrderDetails(datasBean.getOrderDetails());
if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails());
}
MyOrderManage.getInstance().setOrderBean(orderBean);
// TableBean.DataBean openTableBean = new TableBean.DataBean();
// openTableBean.setCreateTime(TimeUtil.getStringByFormat(new Date(datasBean.getCreateTime()), TimeUtil.dateFormatYMDHM));
// openTableBean.setTableName(datasBean.getTableName());
// openTableBean.setId(datasBean.getTableId());
// OpenTableManage.getDefault().setTableBean(openTableBean);
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber());
} else {
tableBean.setTableName(tableBean.getTableName());
}
OpenTableManage.getDefault().setTableBean(tableBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
......@@ -424,6 +420,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo());
}
Intent intent = new Intent(this, MealStandActivity.class);
startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE);
}
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.app.Activity;
import android.graphics.Paint;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
......@@ -30,6 +32,10 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
private Activity mContext;
private String cashStr;
/**
* 是否免服務費(0:否 1:是)
*/
private int whetherFreeService;
private int BillTotalFontSize;
public OrderMoneyAdapter(Activity context, List<BillOrderMoney> infos, String cashStr) {
......@@ -40,6 +46,15 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
this.BillTotalFontSize = 18;
}
public void setWhetherFreeService(int whetherFreeService) {
this.whetherFreeService = whetherFreeService;
notifyDataSetChanged();
}
public int getWhetherFreeService() {
return whetherFreeService;
}
@Override
public int getItemCount() {
return mInfos.size();
......@@ -82,6 +97,18 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
tv_money.setText(cashStr + datasBean.getMoney());
}
if(datasBean.getType() == BillOrderMoney.SERVERCHARGE_TYPE) {
if (whetherFreeService == 1) {
// 中划线
tv_title.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
tv_money.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
} else {
// 取消设置的的划线
tv_title.getPaint().setFlags(0);
tv_money.getPaint().setFlags(0);
}
}
tv_title.setTextSize(BillTotalFontSize);
tv_money.setTextSize(BillTotalFontSize);
......
......@@ -8,6 +8,7 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Food;
......@@ -42,7 +43,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
private Context mContext;
private MealStandActivity mMealStandActivity;
private MealStandPresenter mMealStandPresenter;
private OrderContentPresenter mOrderContentPresenter;
private int BillListFontSize = 18;
......@@ -77,7 +77,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
super(data);
this.mContext = context;
if (presenter instanceof MealStandPresenter) {
this.mMealStandPresenter = (MealStandPresenter) presenter;
// this.mMealStandPresenter = (MealStandPresenter) presenter;
this.mMealStandActivity = (MealStandActivity) context;
} else if (presenter instanceof OrderContentPresenter) {
this.mOrderContentPresenter = (OrderContentPresenter) presenter;
......@@ -194,12 +194,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
tv_S_1.setVisibility(View.INVISIBLE);
tv_discount_money.setVisibility(View.INVISIBLE);
// if (datasBean.isModify()) {
// tv_modify_before_number.setText(String.valueOf(datasBean.getModifyBeforeNumber()));
// tv_modify_before_number.setVisibility(View.VISIBLE);
// } else {
// tv_modify_before_number.setVisibility(View.INVISIBLE);
// }
if (datasBean.isModify()) {
tv_modify_before_number.setText(String.valueOf(datasBean.getModifyBeforeNumber()));
tv_modify_before_number.setVisibility(View.VISIBLE);
} else {
tv_modify_before_number.setVisibility(View.INVISIBLE);
}
//
// if (datasBean.getMix_DETAIL_ID() > 0) {
// tv_mix.setText(String.valueOf(datasBean.getMix_DETAIL_ID()));
......@@ -324,6 +324,11 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
tv_name.setTextColor(ArmsUtils.getColor(mContext, R.color.black));
tv_money.setTextColor(ArmsUtils.getColor(mContext, R.color.black));
}
if (datasBean.isModify()) {
//数量为0 说明是修改订单 删除的食品,颜色设置了红色
tv_name.setTextColor(ArmsUtils.getColor(GsaCloudApplication.getAppContext(), R.color.red_500));
}
}
public void setTextSize() {
......
......@@ -198,23 +198,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number"
android:gravity="center"
android:layout_toLeftOf="@+id/rl_select"
android:layout_marginLeft="@dimen/dp_5"
android:text="30"
android:textColor="@color/orange_200"
android:textSize="@dimen/sp_14"
android:textSize="@dimen/sp_16"
android:visibility="gone" />
<!-- <TextView-->
<!-- android:id="@+id/tv_number"-->
<!-- android:layout_width="@dimen/dp_35"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentTop="true"-->
<!-- android:layout_toRightOf="@+id/rl_food_line"-->
<!-- android:gravity="center"-->
<!-- android:text="20"-->
<!-- android:textColor="@color/theme_black"-->
<!-- android:textSize="@dimen/sp_20" />-->
<TextView
android:id="@+id/tv_number"
android:layout_width="@dimen/dp_35"
......
......@@ -88,6 +88,21 @@
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/btn_meal_modify_restore"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/ui_selector_item_background"
android:drawablePadding="@dimen/dp_1"
android:drawableTop="@drawable/meal_modify_restore"
android:gravity="center"
android:text="恢復"
android:textAllCaps="false"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_12"
android:visibility="gone"/>
<!-- <TextView-->
<!-- android:id="@+id/btn_food_mode"-->
<!-- android:layout_width="match_parent"-->
......@@ -153,13 +168,6 @@
<!-- android:textSize="@dimen/sp_12"/>-->
<!-- <ImageButton-->
<!-- android:id="@+id/btn_meal_modify_restore"-->
<!-- style="@style/ButtonBorderless"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:src="@drawable/meal_modify_restore" />-->
<!-- <ImageButton-->
<!-- android:id="@+id/btn_change_Language"-->
<!-- style="@style/ButtonBorderless"-->
<!-- android:layout_width="match_parent"-->
......
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