Commit efb23dc1 by Wyh

Merge remote-tracking branch 'origin/master'

parents 1cbb24c5 8ef87d75
......@@ -106,7 +106,12 @@ dependencies {
//多功能輸入框
api 'com.rengwuxian.materialedittext:library:2.1.4'
//扫码
implementation 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.3'
implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.3.7'
implementation 'cn.bingoogolapple:bga-photopicker:1.2.8@aar'
implementation 'cn.bingoogolapple:bga-baseadapter:1.2.9@aar'
implementation 'cn.bingoogolapple:bga-flowlayout:1.0.0@aar'
api 'androidx.core:core-ktx:+'
implementation 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
......
......@@ -2,6 +2,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup="true"
......
......@@ -19,6 +19,8 @@ import java.util.Date;
import java.util.List;
import java.util.Objects;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
......@@ -26,6 +28,7 @@ import java.util.Objects;
* 修订历史:2020-02-18
* 描述:訂單實體類
*/
@Data
public class OrderDetail implements Serializable {
private static final long serialVersionUID = -958791295551999853L;
/**
......@@ -172,7 +175,7 @@ public class OrderDetail implements Serializable {
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private long ablediscount;
private long ablediscount = 1;
/**
* 折扣實體
*/
......@@ -864,12 +867,14 @@ public class OrderDetail implements Serializable {
orderDetail.setKtPrintMainItem(orderDetailsBean.getKtPrintMainItem());
orderDetail.setPrintFont(orderDetailsBean.getPrintFont());
orderDetail.setPrintToBill(orderDetailsBean.getPrintToBill());
orderDetail.setPrintTo(orderDetail.getPrintTo());
orderDetail.setKtShowPrice(orderDetail.getKtShowPrice());
orderDetail.setPrintTo(orderDetailsBean.getPrintTo());
orderDetail.setKtShowPrice(orderDetailsBean.getKtShowPrice());
orderDetail.setAblediscount(orderDetailsBean.getAblediscount());
orderDetail.setIsfood(orderDetailsBean.getType() == FOOD_TYPE);
orderDetail.setNew(false);
orderDetail.setType(orderDetailsBean.getType());
orderDetail.setItemType(getItemType(orderDetailsBean, parentOrderDetail));
orderDetail.setAblediscount(orderDetailsBean.getAblediscount());
orderDetailList.add(orderDetail);
// if (orderDetail.isIsfood()) {
......@@ -890,7 +895,7 @@ public class OrderDetail implements Serializable {
int nextIndex = i + 1;
if (orderList.size() == nextIndex || orderList.get(nextIndex).getParentId() == 0) {
//已到結尾或者下一個食品是主食品
Discount discount = getDiscountItem(orderDetailsBean.getRestaurantDiscountVO(), parentId, discountSourcePrice);
Discount discount = getDiscountItem(orderDetailsBean.getRestaurantDiscountVO());
if (discount != null) {
orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice));
}
......@@ -906,11 +911,13 @@ public class OrderDetail implements Serializable {
return orderDetailList;
}
private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean, long parentId, double discountAmount) {
//PLU可输入子项
//食品数量支持小数 例如1.25
private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean) {
Discount discount = new Discount();
discount.setId(discountBean.getId());
discount.setDiscount_value(discountBean.getDiscountValue());
discount.setAmount(discountAmount);
discount.setAmount(discountBean.getDiscountAmount());
discount.setType(discountBean.getType());
discount.setRemark(discountBean.getRemark());
return discount;
......@@ -974,6 +981,7 @@ public class OrderDetail implements Serializable {
orderDetail.setType(FOOD_TYPE);
orderDetail.setItemType(1);
orderDetail.setProp(FOOD_PROP);
orderDetail.setAblediscount(food.getAbleDiscount());
orderDetail.setAutoMod(food.getAutoMod());
int comboLevel = food.isComboFood() ? 1 : 0;
orderDetail.setComboLevel(comboLevel);
......@@ -1014,6 +1022,7 @@ public class OrderDetail implements Serializable {
orderDetail.setItemType(2);
orderDetail.setProp(prop);
orderDetail.setPrintseting(foodCombo.getPrintSeting());
orderDetail.setAblediscount(foodCombo.getAblediscount());
// orderDetail.setComboAuto(foodCombo.isAutoMode());
if (isRvMealClicked) {
//手动点击细项 才将子食品作为主体被选中
......@@ -1048,9 +1057,10 @@ public class OrderDetail implements Serializable {
orderDetail.setMid(modifier.getMid());
orderDetail.setIsfood(false);
orderDetail.setNew(true);
orderDetail.setType(MODIFIER_TYPE);
orderDetail.setItemType(3);
orderDetail.setType(MODIFIER_TYPE);
orderDetail.setProp(MODIFIER_PROP);
orderDetail.setAblediscount(modifier.getAbleDisCount());
//手动点击细项 才将子食品作为主体被选中
orderDetail.setSelected(2);
orderDetail.setCurrentMaxNumber(modifier.getCurrentMaxNumber());
......@@ -1080,15 +1090,23 @@ public class OrderDetail implements Serializable {
orderDetail.setIsfood(false);
orderDetail.setNew(isNew);
orderDetail.setType(DISCOUNT_TYPE);
orderDetail.setItemType(2);
orderDetail.setProp(DISCOUNT_PROP);
orderDetail.setSelected(2);
orderDetail.setItemType(2);
orderDetail.setDiscount(discount);
return orderDetail;
}
public static List<OrderDetail> transNewOrderDetails(List<OrderDetail> orderDetailList) {
List<OrderDetail> newOrderList = new ArrayList<>();
for (OrderDetail orderDetail : orderDetailList) {
newOrderList.add(new OrderDetail(orderDetail));
}
return newOrderList;
}
/**
* 此食品是否包含折扣
*
......
......@@ -181,6 +181,7 @@ public class TableBean {
tableBean.setStatus(dataBean.getTableStatus());
tableBean.setUseStatus(dataBean.getInUse());
tableBean.setTableNumber(dataBean.getTableNumber());
tableBean.setServiceCharge(dataBean.getServiceCharge());
return tableBean;
}
......@@ -197,6 +198,7 @@ public class TableBean {
tableBean.setStatus(dataBean.getTableStatus());
tableBean.setUseStatus(dataBean.getInUse());
tableBean.setTableNumber(dataBean.getTableNumber());
tableBean.setServiceCharge(dataBean.getServiceCharge());
return tableBean;
}
}
......@@ -56,6 +56,7 @@ public class MyOrderManage {
private int sseq = 0;//二级序
private int mseq = 0;//三级序
private OrderBean orderBean;
/**
......@@ -89,6 +90,8 @@ public class MyOrderManage {
/**
* 記錄修改訂單操作
* false#送單
* true#修改訂單
*/
private boolean modifyOrder = false;
......
......@@ -25,8 +25,8 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
*/
public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property ComId = new Property(1, long.class, "comId", false, "COM_ID");
public final static Property Fid = new Property(2, long.class, "fid", false, "FID");
public final static Property ComId = new Property(1, Long.class, "comId", false, "COM_ID");
public final static Property Fid = new Property(2, Long.class, "fid", false, "FID");
public final static Property Qty = new Property(3, long.class, "qty", false, "QTY");
public final static Property DiffAmt = new Property(4, double.class, "diffAmt", false, "DIFF_AMT");
public final static Property SeqNo = new Property(5, long.class, "seqNo", false, "SEQ_NO");
......@@ -57,8 +57,8 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"COMBO_ITEM\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"COM_ID\" INTEGER NOT NULL ," + // 1: comId
"\"FID\" INTEGER NOT NULL ," + // 2: fid
"\"COM_ID\" INTEGER," + // 1: comId
"\"FID\" INTEGER," + // 2: fid
"\"QTY\" INTEGER NOT NULL ," + // 3: qty
"\"DIFF_AMT\" REAL NOT NULL ," + // 4: diffAmt
"\"SEQ_NO\" INTEGER NOT NULL ," + // 5: seqNo
......@@ -89,8 +89,16 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindLong(2, entity.getComId());
stmt.bindLong(3, entity.getFid());
Long comId = entity.getComId();
if (comId != null) {
stmt.bindLong(2, comId);
}
Long fid = entity.getFid();
if (fid != null) {
stmt.bindLong(3, fid);
}
stmt.bindLong(4, entity.getQty());
stmt.bindDouble(5, entity.getDiffAmt());
stmt.bindLong(6, entity.getSeqNo());
......@@ -131,8 +139,16 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindLong(2, entity.getComId());
stmt.bindLong(3, entity.getFid());
Long comId = entity.getComId();
if (comId != null) {
stmt.bindLong(2, comId);
}
Long fid = entity.getFid();
if (fid != null) {
stmt.bindLong(3, fid);
}
stmt.bindLong(4, entity.getQty());
stmt.bindDouble(5, entity.getDiffAmt());
stmt.bindLong(6, entity.getSeqNo());
......@@ -174,8 +190,8 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
public ComboItem readEntity(Cursor cursor, int offset) {
ComboItem entity = new ComboItem( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.getLong(offset + 1), // comId
cursor.getLong(offset + 2), // fid
cursor.isNull(offset + 1) ? null : cursor.getLong(offset + 1), // comId
cursor.isNull(offset + 2) ? null : cursor.getLong(offset + 2), // fid
cursor.getLong(offset + 3), // qty
cursor.getDouble(offset + 4), // diffAmt
cursor.getLong(offset + 5), // seqNo
......@@ -197,8 +213,8 @@ public class ComboItemDao extends AbstractDao<ComboItem, Long> {
@Override
public void readEntity(Cursor cursor, ComboItem entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setComId(cursor.getLong(offset + 1));
entity.setFid(cursor.getLong(offset + 2));
entity.setComId(cursor.isNull(offset + 1) ? null : cursor.getLong(offset + 1));
entity.setFid(cursor.isNull(offset + 2) ? null : cursor.getLong(offset + 2));
entity.setQty(cursor.getLong(offset + 3));
entity.setDiffAmt(cursor.getDouble(offset + 4));
entity.setSeqNo(cursor.getLong(offset + 5));
......
......@@ -162,7 +162,7 @@ public class ComboItemDaoUtils {
ArrayList<ComboItem> comboItems = new ArrayList<>();
// String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,f.PRINT_SETING,SELECT_QTY,DEF_MODIFIER,INVISIBLE FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE!=1 join FOOD_COMBO r on r.COM_ID=c.COM_ID and r.DELETES!=1";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,f.PRINT_SETING,f.ABLE_DISCOUNT,SELECT_QTY,DEF_MODIFIER,INVISIBLE,POINTS_ADD,POINTS_RATIO,POINTS_REDEEM FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE!=1 join FOOD_COMBO r on r.COM_ID=c.COM_ID and r.DELETES!=1";
if (fid > 0) {
sql = sql + " where r.FID='" + fid + "'";
......@@ -183,7 +183,10 @@ public class ComboItemDaoUtils {
order.setSelectQty(c.getInt(c.getColumnIndex("SELECT_QTY")));
order.setInvisible(c.getLong(c.getColumnIndex("INVISIBLE")));
order.setPrintSeting(c.getString(c.getColumnIndex("PRINT_SETING")));
int deletes = c.getInt(c.getColumnIndex("DELETES"));
order.setAblediscount(c.getLong(c.getColumnIndex("ABLE_DISCOUNT")));
order.setPointsAdd(c.getDouble(c.getColumnIndex("POINTS_ADD")));
order.setPointsRatio(c.getLong(c.getColumnIndex("POINTS_RATIO")));
order.setPointsRedeem(c.getDouble(c.getColumnIndex("POINTS_REDEEM")));
String defmodifier = c.getString(c.getColumnIndex("DEF_MODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier);
......
......@@ -324,7 +324,7 @@ public class ModifierDaoUtils {
// String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" +
// " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO";
String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,MAX_QTY,MIN_QTY" +
String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT" +
" FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE!=1 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO";
List<Modifier> mfs_child = new ArrayList<>();
......@@ -337,14 +337,14 @@ public class ModifierDaoUtils {
switch (mode) {
case modifierMode_All:
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY" +
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=1 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO";
mfs_child1 = query_modifier_Child_new(sqlstr, fid);
List<Modifier> mfs_child2 = new ArrayList<>();
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY" +
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,INVISIBLE,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY,ABLE_DIS_COUNT" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE!=1 and m.IS_PARENT=0 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO";
mfs_child2 = query_modifier_Child_new(sqlstr, fid);
......@@ -397,6 +397,7 @@ public class ModifierDaoUtils {
order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG")));
order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE")));
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
order.setAbleDisCount(c.getLong(c.getColumnIndex("ABLE_DIS_COUNT")));
order.setInvisible(c.getLong(c.getColumnIndex("INVISIBLE")));
if (fid != 0) {
//非公共細項
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- <SurfaceView-->
<!-- android:id="@+id/preview_view"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_gravity="center"/>-->
<!-- <com.gingersoft.gsa.cloud.zxing.view.ViewfinderView-->
<!-- android:id="@+id/viewfinder_view"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content" />-->
<!-- <LinearLayout-->
<!-- android:id="@+id/title_layout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentTop="true"-->
<!-- android:orientation="vertical">-->
<!-- <com.zxing.view.ViewfinderView-->
<!-- android:id="@+id/viewfinder_view"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content" />-->
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<!-- <include layout="@layout/title_bar_" />-->
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<TextView
android:id="@+id/btn_album"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:text="相冊"
android:paddingLeft="@dimen/normal_space12"
android:paddingRight="@dimen/normal_space12"
android:paddingTop="@dimen/normal_space5"
android:paddingBottom="@dimen/normal_space5"
android:textColor="@color/white"
android:layout_below="@+id/topbar"
android:layout_marginTop="@dimen/head_height"
android:background="@drawable/shape_delivery_item_btn_normal"
android:textSize="@dimen/font_normal2"
android:layout_gravity="right"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.dlazaro66.qrcodereaderview.QRCodeReaderView
android:id="@+id/qrdecoderview"
<cn.bingoogolapple.qrcode.zxing.ZXingView
android:id="@+id/zxingview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/head_height"/>
app:qrcv_animTime="1000"
app:qrcv_barCodeTipText="將條碼放入框內,即可自動掃描"
app:qrcv_barcodeRectHeight="120dp"
app:qrcv_borderColor="@android:color/white"
app:qrcv_borderSize="1dp"
app:qrcv_cornerColor="@color/colorPrimaryDark"
app:qrcv_cornerDisplayType="center"
app:qrcv_cornerLength="20dp"
app:qrcv_cornerSize="3dp"
app:qrcv_customScanLineDrawable="@mipmap/qrcode_default_scan_line"
app:qrcv_isAutoZoom="true"
app:qrcv_isBarcode="false"
app:qrcv_isOnlyDecodeScanBoxArea="false"
app:qrcv_isScanLineReverse="true"
app:qrcv_isShowDefaultGridScanLineDrawable="false"
app:qrcv_isShowDefaultScanLineDrawable="true"
app:qrcv_isShowLocationPoint="true"
app:qrcv_isShowTipBackground="true"
app:qrcv_isShowTipTextAsSingleLine="false"
app:qrcv_isTipTextBelowRect="false"
app:qrcv_maskColor="@color/trans"
app:qrcv_qrCodeTipText="將二維碼/條碼框內,即可自動掃描"
app:qrcv_rectWidth="200dp"
app:qrcv_scanLineColor="@color/colorPrimaryDark"
app:qrcv_scanLineMargin="0dp"
app:qrcv_scanLineSize="0.5dp"
app:qrcv_tipTextColor="@android:color/white"
app:qrcv_tipTextSize="12sp"
app:qrcv_toolbarHeight="56dp"
app:qrcv_topOffset="65dp"
app:qrcv_verticalBias="-1" />
<com.gingersoft.gsa.cloud.zxing.PointsOverlayView
android:id="@+id/points_overlay_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_album"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:text="相冊"
android:paddingLeft="@dimen/normal_space12"
android:paddingRight="@dimen/normal_space12"
android:paddingTop="@dimen/normal_space5"
android:paddingBottom="@dimen/normal_space5"
android:textColor="@color/white"
android:layout_below="@+id/topbar"
android:layout_marginTop="@dimen/head_height"
android:background="@drawable/shape_delivery_item_btn_normal"
android:textSize="@dimen/font_normal2"
android:layout_gravity="right"/>
<!-- </LinearLayout>-->
</RelativeLayout>
</FrameLayout>
\ No newline at end of file
</FrameLayout>
</LinearLayout>
\ No newline at end of file
......@@ -26,5 +26,5 @@ QMUI_LINT_VERSION = 1.1.0
QMUI_SKIN_MAKER_VERSION = 0.0.1
POM_GIT_URL=https://github.com/Tencent/QMUI_Android/
POM_SITE_URL=https://qmuiteam.com/android
android.injected.testOnly=false
#android.injected.testOnly=false
......@@ -324,11 +324,11 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
if (mTableItem.getLayoutType() == 0 && mTableItem.getServiceCharge() != 0) {
serverchargeEditText.setText(mTableItem.getServiceCharge() + "");
}
InputFilter[] filters3 = {new InputFilter.LengthFilter(5)};
InputFilter[] filters3 = {new InputFilter.LengthFilter(2)};
serverchargeEditText.setFilters(filters3);
serverchargeEditText.setTextSize(16);
serverchargeEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
serverchargeEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
serverchargeEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
serverchargeItemView.addAccessoryCustomView(serverchargeEditText);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
......
......@@ -107,7 +107,6 @@ public class OrderDetailItem implements Serializable {
public static final byte STATUS_CANCEL = 6;
@Data
public static class OrderPayBean implements Serializable{
private long id;
......
......@@ -5,6 +5,8 @@ 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
......@@ -14,74 +16,22 @@ import java.util.Map;
*/
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;
public List<Map<Byte, DeleteOrderRequest.DeleteBean>> getMapsDelete() {
return mapsDelete;
}
public void setMapsDelete(List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete) {
this.mapsDelete = mapsDelete;
}
public long getOrderId() {
return orderId;
}
public void setOrderId(long orderId) {
this.orderId = orderId;
}
public long getTableId() {
return tableId;
}
public void setTableId(long tableId) {
this.tableId = tableId;
}
public byte getType() {
return type;
}
public void setType(byte type) {
this.type = type;
}
public long getReasonId() {
return reasonId;
}
public void setReasonId(long reasonId) {
this.reasonId = reasonId;
}
}
@Data
public static class DeleteBean{
private long id;
private int number;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
}
......@@ -122,6 +122,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
this.mApplication = null;
}
public void initAdapter() {
if (mOrderTopFunctionAdapter == null) {
mOrderTopFunctionAdapter = new OrderTopFunctionAdapter(IActivity, mFunctionList);
......@@ -702,12 +703,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private void showDiscountDialog() {
if (mDiscountDialog == null) {
mDiscountDialog = new DiscountDialog.Builder(IActivity);
mDiscountDialog.setCanScan(true);
mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() {
@Override
public void onItemClick(Discount item, int position) {
addOrderDiscount(false, item, 0);
updateOrderMoneyItem();
}
@Override
public void onScan() {
toScanActivity();
}
});
}
List<Discount> discountList = filterDiscountByType(mModel.queryDB_DiscountList("1"), "1");
......
......@@ -205,18 +205,15 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬
*/
public void toOrderPay(boolean show) {
if(myOrderManage.isModifyOrder()){
//修改訂單
updateOrderPay();
return;
}
OrderPayView orderPayView = IActivity.getGsaPayView();
if (orderPayView.getBillMoneyList() == null || orderPayView.getBillMoneyList().size() == 0)
return;
// RequestBody requestBody = new FormBody.Builder()
// .add("orderPayType", String.valueOf(orderPayType))
// .add("payType", String.valueOf(orderPayView.getBillMoneyList().get(0).getId()))
// .add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId()))
// .add("amount", String.valueOf(orderPayView.getBillMoney()))
// .add("linePayType", String.valueOf(orderPayView.getLinePayType()))
// .add("tipsPrice", String.valueOf(orderPayView.getTipsPrice()))
// .build();
String payRequest = GsonUtils.GsonString(getOrderPayRequest(orderPayView));
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), payRequest);
......@@ -280,29 +277,33 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
/**
* 修改訂單更新支付方式
*/
// public void updateOrderPay() {
// RequestBody requestBody = new FormBody.Builder()
// .add("payType", String.valueOf(mBillMoneyList.get(0).getId()))
// .add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId()))
// .build();
// mModel.updateOrderPay(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<BaseResult>(mErrorHandler) {
//
// @Override
// public void onNext(BaseResult baseResult) {
// if (baseResult.isSuccess()) {
// //結賬成功
// mRootView.paySuccess();
// }
// }
// });
// }
public void updateOrderPay() {
OrderPayView orderPayView = IActivity.getGsaPayView();
if (orderPayView.getBillMoneyList() == null || orderPayView.getBillMoneyList().size() == 0)
return;
String payRequest = GsonUtils.GsonString(getOrderPayRequest(orderPayView));
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), payRequest);
mModel.updateOrderPay(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<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) {
//結賬成功
mRootView.paySuccess();
}
}
});
}
protected void createOrder() {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
......
......@@ -120,16 +120,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
*/
private int mCurrentOperatType = -1;
/**
* 选中操作的台名、id
* 选中操作的台名、id、分檯編號
*/
private String originalTableName = "";
private long originalTableId;
private String originalTableNumber = "";
/**
* 转台需要转到台名、id
* 转台需要转到台名、id、分檯編號
*/
private String targetTableName = "";
private long targetTableId;
private String targetTableNumber = "";
@Inject
public TablePresenter(TableContract.Model model, TableContract.View rootView) {
......@@ -522,6 +523,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
originalTableName = tableBean.getTableName();
originalTableId = tableBean.getId();
originalTableNumber = tableBean.getTableNumber();
mRootView.setOperatContentText("由: " + originalTableName + " 轉到 ");
} else {
if (tableBean.getUseStatus() == 1) {
......@@ -530,6 +532,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
targetTableName = tableBean.getTableName();
targetTableId = tableBean.getId();
targetTableNumber = tableBean.getTableNumber();
if (tableBean.getStatus() == 1 || tableBean.getStatus() == 2 || tableBean.getStatus() == 3) {
mRootView.setOperatContentText("由: " + originalTableName + " 合併 " + targetTableName);
} else {
......@@ -545,11 +548,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
});
}
public void turnTable(long originalTableId, long targetTableId, boolean isMergeTable) {
public void turnTable(long originalTableId, long targetTableId, String tableNumber, String targetTableNumber, boolean isMergeTable) {
RequestBody requestBody = new FormBody.Builder()
.add("id", String.valueOf(originalTableId))
.add("tableId", String.valueOf(targetTableId))
.add("tableNumber", tableNumber)
.add("targetTableNumber", targetTableNumber)
.build();
mModel.turnTable(requestBody)
......@@ -845,7 +850,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
initTable(dataBean.getId(), dataBean.getTableNumber(), true);
break;
case TableOperatTypeConstant.move_table_4:
turnTable(originalTableId, targetTableId, finalIsMergeTable);
turnTable(originalTableId, targetTableId,originalTableNumber,targetTableNumber, finalIsMergeTable);
break;
case TableOperatTypeConstant.skyorder_mode_5:
......@@ -871,8 +876,10 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public void initTableParameter() {
originalTableName = "";
originalTableId = 0;
originalTableNumber = "";
targetTableName = "";
targetTableId = 0;
targetTableNumber = "";
}
private TableBean.DataBean getTableById(long id) {
......
......@@ -38,6 +38,7 @@ import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
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;
......@@ -89,7 +90,9 @@ import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.util.QMUIDrawableHelper;
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
import com.tbruyelle.rxpermissions2.RxPermissions;
import org.simple.eventbus.EventBus;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
......@@ -559,6 +562,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@OnClick(R2.id.btn_meal_discount)
void onClickDiscount() {
OrderDetail mainOrderDetail = mPresenter.getSelectMealAdapter().getCurrentMainOrderDetail();
if(mainOrderDetail != null && mainOrderDetail.getAblediscount() == 0){
showMessage("此食品不能參與折扣!");
return;
}
//更新折扣数据
mPresenter.loadDiscountData();
......@@ -569,7 +577,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
void onClickTable() {
//type取值:1qrCdoetype,2:手機號,3:memberId
// mUseMemberDialog = new UseMemberDialog(this);
if(mUseMemberDialog == null) {
if (mUseMemberDialog == null) {
mUseMemberDialog = new UseMemberDialog.BottomLayoutBuilder(this)
.setOnLayoutClickListener(new UseMemberDialog.BottomLayoutBuilder.OnLayoutClickListener() {
......@@ -580,7 +588,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public void onScanAction(UseMemberDialog dialog) {
mPresenter.toScanActivity();
mPresenter.startScanActivity();
}
@Override
......@@ -745,9 +753,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
case 3:
case 4:
case 5:
OrderBean order = MyOrderManage.getInstance().getOrderBean();
if (order != null) {
// ArmsUtils.snackbarText("訂單ID:" + order.getId());
if (i == 1) {
OrderBean order = MyOrderManage.getInstance().getOrderBean();
if (order != null) {
ArmsUtils.snackbarText("訂單ID:" + order.getId());
}
}
mPresenter.changeNumber(i);
break;
......@@ -1252,7 +1262,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if (resultCode == Activity.RESULT_OK) {
//打印成功
//結賬成功
//關閉當前頁面
//關閉當前頁面
killMyself();
}
} else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
......
......@@ -40,6 +40,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.DefaultAdapter;
......@@ -574,6 +575,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
setResult(Activity.RESULT_OK, null);
killMyself();
}
}else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult");
}
}
......
......@@ -151,9 +151,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
context.startActivity(intent);
}
// private List<BillMethodBean> billMoney = new ArrayList<>();
// private BillMoneyAdapter billMoneyAdapter;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerOrderPayComponent //如找不到该类,请编译一下项目
......
......@@ -135,6 +135,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
private OrderCenterMoneyAdapter mOrderDetailPayMethodAdapter;
private List<SectionTextItem3> mOrderCenterPayMethodList = new ArrayList<>();
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerOrderDetailComponent //如找不到该类,请编译一下项目
......@@ -335,13 +336,14 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
}
private void setTitleByOrderType(OrderDetailItem item) {
String mealCode = LanguageUtils.get_language_system(mContext, "meal.code", "訂單碼") + ": ";
String orderCode = LanguageUtils.get_language_system(mContext, "order.code", "訂單碼") + ": ";
String mealCode = LanguageUtils.get_language_system(mContext, "meal.code", "取餐碼") + ": ";
if (item.getOrderType() == 2) {
tv_table_name.setText("外賣");
tv_order_num.setText(mealCode + item.getBillNo());
tv_order_num.setText(orderCode + item.getTakeFoodCode());
} else if (item.getOrderType() == 7) {
tv_table_name.setText("自取");
tv_order_num.setText(mealCode + item.getBillNo());
tv_order_num.setText(orderCode + item.getBillNo() + " " + mealCode + item.getTakeFoodCode());
} else {
String tableName = LanguageUtils.get_language_system(this, "table.number", "檯號") + ": ";
String orderNumber = LanguageUtils.get_language_system(this, "order.number", "訂單號") + ": ";
......@@ -405,15 +407,17 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
orderBean.setDiscountAmount(datasBean.getDiscountAmount());
orderBean.setDiscountValue(datasBean.getDiscountValue());
orderBean.setCreateTime(datasBean.getCreateTime());
orderBean.setOrderDetails(datasBean.getOrderDetails());
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());
// openTableBean.setServiceCharge(datasBean.getServiceAmount()/datasBean.getTotalAmount());
OpenTableManage.getDefault().setTableBean(openTableBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails();
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
......
......@@ -117,13 +117,14 @@ public class OrderCenterAdapter extends DefaultAdapter<OrderDetailItem> {
}
private void setTitleByOrderType(OrderDetailItem item) {
String mealCode = LanguageUtils.get_language_system(mContext, "meal.code", "訂單碼") + ": ";
String orderCode = LanguageUtils.get_language_system(mContext, "order.code", "訂單碼") + ": ";
String mealCode = LanguageUtils.get_language_system(mContext, "meal.code", "取餐碼") + ": ";
if (item.getOrderType() == 2) {
tv_table_name.setText("外賣");
tv_order_num.setText(mealCode + item.getBillNo());
tv_order_num.setText(orderCode + item.getTakeFoodCode());
} else if (item.getOrderType() == 7) {
tv_table_name.setText("自取");
tv_order_num.setText(mealCode + item.getBillNo());
tv_order_num.setText(orderCode + item.getBillNo() + " " + mealCode + item.getTakeFoodCode());
} else {
String tableName = LanguageUtils.get_language_system(mContext, "table.number", "檯號") + ": ";
String orderNumber = LanguageUtils.get_language_system(mContext, "order.number", "訂單號") + ": ";
......
......@@ -179,7 +179,11 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
private void setViewVisibility(OrderDetail datasBean) {
tv_D.setVisibility(View.INVISIBLE);
if(datasBean.getAblediscount() == 0){
tv_D.setVisibility(View.VISIBLE);
}else {
tv_D.setVisibility(View.INVISIBLE);
}
tv_D_1.setVisibility(View.INVISIBLE);
tv_discount_money.setVisibility(View.INVISIBLE);
......@@ -277,7 +281,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} else {
tv_money.setText(carshStr + MoneyUtil.get_ItemDecimals_money(price));
}
} else {
tv_money.setText("");
}
......@@ -428,7 +431,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
*
* @param position
*/
public void removeFoodItemByPosition(int position) {
public void removeItemByPosition(int position) {
if (mInfos.size() > position) {
mInfos.remove(position);
notifyItemChanged(position);
......@@ -1081,8 +1084,8 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
public OrderDetail getCurrentMainOrderDetail() {
if (select_start_position != -1) {
return mInfos.get(select_start_position);
if (select_full_start_position != -1) {
return mInfos.get(select_full_start_position);
} else {
return null;
}
......
......@@ -85,6 +85,7 @@ public class DiscountDialog extends Dialog {
private float mShadowAlpha = 0.25f;
private int mShadowElevationDp = 14;
private int mBagcolor;
private boolean canScan = false;
private List<Discount> mItems;
private DiscountAdapter mAdapter;
......@@ -110,6 +111,10 @@ public class DiscountDialog extends Dialog {
mItems.addAll(items);
}
public void setCanScan(boolean canScan) {
this.canScan = canScan;
}
@Override
public void onClick(View v) {
}
......@@ -150,6 +155,17 @@ public class DiscountDialog extends Dialog {
} else {
mTopBar.setBackgroundColor(ContextCompat.getColor(mContext, R.color.theme_color));
}
if (canScan) {
mTopBar.addRightImageButton(R.mipmap.table_white_scan, R.id.topbar_right_change_button)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickListener != null) {
onClickListener.onScan();
}
}
});
}
mTopBar.setTitle("折扣");
}
......@@ -202,6 +218,8 @@ public class DiscountDialog extends Dialog {
void onItemClick(Discount item, int position);
void onScan();
}
}
......
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