Commit 1e1dee0d by 宁斌

1、新增沽清管理

2、新增賬單小數
parent 28b1c416
......@@ -60,7 +60,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
@Override
public synchronized Cache<String, Object> provideCache() {
if (mCache == null) {
mCache = ArmsUtils.obtainAppComponentFromContext(getActivity()).cacheFactory().build(CacheType.FRAGMENT_CACHE);
mCache = ArmsUtils.obtainAppComponentFromContext(mContext).cacheFactory().build(CacheType.FRAGMENT_CACHE);
}
return mCache;
}
......@@ -74,10 +74,15 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
private View view;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
mContext = getActivity();
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mContext = getActivity();
if (view != null) {
ViewGroup viewGroup = (ViewGroup) view.getRootView();
if (viewGroup != null) {
......
......@@ -10,5 +10,11 @@
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application>
</manifest>
......@@ -28,10 +28,10 @@
<meta-data
android:name="design_width_in_dp"
android:value="360" />
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="540" />
android:value="640"/>
</application>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" />
......
......@@ -14,5 +14,12 @@
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application>
</manifest>
......@@ -31,10 +31,10 @@
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360" />
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="540" />
android:value="640"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
......
......@@ -6,11 +6,40 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
public class ComponentMain implements IComponent {
public static final class Function{
/**首頁- 點餐*/
public static final FModule[] order = {
new FModule("main/order", 0,0) ,
new FModule("main/order/table", R.drawable.ic_dining_table_mode,R.drawable.ic_dining_table_mode_close) ,
new FModule("main/order/delivery", R.drawable.ic_delivery_mode,R.drawable.ic_delivery_mode_close) ,
new FModule("main/order/takeaway", R.drawable.ic_outsourcing_model,R.drawable.ic_outsourcing_model_close),
new FModule("main/order/preorder", R.drawable.ic_pre_order_mode,R.drawable.ic_pre_order_mode_close),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager", 0,0) ,
new FModule("main/manager/bill", R.drawable.ic_meals_menu_management, R.drawable.ic_meals_menu_management_close) ,
new FModule("main/manager/table", R.drawable.ic_dining_table_management,R.drawable.ic_dining_table_management_close) ,
new FModule("main/manager/printer",R.drawable.ic_print_management,R.drawable.ic_print_management_close),
new FModule("main/manager/pay", R.drawable.ic_pay_management,R.drawable.ic_pay_management_close),
new FModule("main/manager/discout",R.drawable.ic_discount_management,R.drawable.ic_discount_management_close),
new FModule("main/manager/soldoutCtr",R.drawable.ic_discount_management,R.drawable.ic_discount_management_close)
};
/**首頁- 員工管理*/
public static final FModule [] employee = {
new FModule("main/employee", 0,0) ,
new FModule("main/employee/management",R.drawable.ic_staff_management,R.drawable.ic_staff_management_close) ,
new FModule("main/employee/delivery", R.drawable.ic_authority_management,R.drawable.ic_authority_management_close) ,
new FModule("main/employee/operationRecord", R.drawable.ic_operation_record,R.drawable.ic_operation_record_close)
};
}
@Override
public String getName() {
......
......@@ -24,7 +24,10 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.utils.FunctionDaoUtils;
import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.main.BuildConfig;
import com.gingersoft.gsa.cloud.main.ComponentMain;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent;
......@@ -201,12 +204,15 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
// return;
// }
List<Function> functions = new ArrayList<>();
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.order,"order"));
functions.add(new Function((long) 150, 0, 5, "點餐", 0, 0));
functions.add(new Function((long) 138, 150, 5, "餐臺模式", R.drawable.ic_dining_table_mode, 0));
functions.add(new Function((long) 139, 150, 5, "外送模式", R.drawable.ic_delivery_mode_close, 1));
functions.add(new Function((long) 140, 150, 5, "外賣模式", R.drawable.ic_outsourcing_model_close, 1));
functions.add(new Function((long) 139, 150, 5, "外送模式", R.drawable.ic_delivery_mode_close, 0));
functions.add(new Function((long) 140, 150, 5, "外賣模式", R.drawable.ic_outsourcing_model_close, 0));
functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode_close, 1));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.manager,"manager"));
functions.add(new Function((long) 151, 0, 5, "管理", 0, 0));
// functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management));
functions.add(new Function((long) 142, 151, 5, "賬單管理", R.drawable.ic_meals_menu_management, 0));
......@@ -217,10 +223,12 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_management_close, 1));
functions.add(new Function((long) 147, 151, 5, "沽清管理", R.drawable.ic_meals_menu_management, 0));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.employee,"employee"));
functions.add(new Function((long) 152, 0, 5, "員工", 0, 0));
functions.add(new Function((long) 147, 152, 5, "員工管理", R.drawable.ic_staff_management_close, 1));
functions.add(new Function((long) 148, 152, 5, "權限管理", R.drawable.ic_authority_management_close, 1));
functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1));
//將功能列表數據分組
SparseArray<String> parents = new SparseArray<>();
SparseArray<List<Function>> funMap = new SparseArray<>();
......
......@@ -109,8 +109,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
PrinterDeviceBean deviceBean = (PrinterDeviceBean) getIntent().getSerializableExtra("deviceBean");
// if (type != PrinterRoot.PRINT_TEST) {
//不是测试才去获取打印机列表,获取到打印机列表之后就进行打印
mPresenter.getPrinterList(GsaCloudApplication.getRestaurantId(mContext));
//不是测试才去获取打印机列表,获取到打印机列表之后就进行打印
mPresenter.getPrinterList(GsaCloudApplication.getRestaurantId(mContext));
// }
printerInIt = PrinterRoot.getPrinterByType(type);
......
......@@ -43,7 +43,7 @@ android {
/**
* 版本号
*/
schemaVersion 4
schemaVersion 5
/**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/
......@@ -73,6 +73,7 @@ dependencies {
implementation rootProject.ext.dependencies["fastjson"]
implementation rootProject.ext.dependencies["zxing"]
implementation rootProject.ext.dependencies["progressmanager"]
implementation rootProject.ext.dependencies["autosize"]
// test
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
......
......@@ -26,6 +26,7 @@ public class BillOrderMoney {
private byte type = DISCOUNT_TYPE;
public static final byte DISCOUNT_TYPE = 1;
public static final byte SERVERCHARGE_TYPE = 2;
public static final byte ROUNDING_TYPE = 3;
private Discount discount;
......
......@@ -33,7 +33,7 @@ public class CurrentAndroidSetting {
private int ModFontSize = 14;
private int BillListFontSize = 12;
private int BillTotalFontSize = 12;
private int FoodlListFontSize = 12;
private int FoodlListFontSize = 18;
private int LayoutBillListHeight = 40;
private int LayoutQtyHeight = 40;
private int LayoutQuitHeight = 40;
......
......@@ -160,21 +160,21 @@ public class OrderDetail implements Serializable {
*/
private long ablediscount;
/**
* 食品組
* 折扣實體
*/
private String ftName;
private Discount discount;
/**
* 自定義組
* 折扣狀態#0:沒有折扣;1:折扣未送單;2:折扣已送單;
*/
private String majorName;
private int discountStatus;
/**
* 折扣實體
* 食品組
*/
private Discount discount;
private String ftName;
/**
* 折扣狀態#0:未送單;1:已送單;
* 自定義組
*/
private int discountStatus;
private String majorName;
/**
* 状态#0:正常;1:删除;
*/
......@@ -629,7 +629,7 @@ public class OrderDetail implements Serializable {
//累加折扣總額
discountSourcePrice = MoneyUtil.sum(discountSourcePrice, orderDetail.getPrice());
//食品折扣狀態為已送單
orderDetail.setDiscountStatus(1);
orderDetail.setDiscountStatus(2);
//往下找
int nextIndex = i + 1;
if (orderList.size() == nextIndex || orderList.get(nextIndex).getParentId() == 0) {
......@@ -639,6 +639,8 @@ public class OrderDetail implements Serializable {
orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice));
}
}
}else {
orderDetail.setDiscountStatus(0);
}
if (orderDetail.isIsfood()) {
......@@ -658,8 +660,7 @@ public class OrderDetail implements Serializable {
return discount;
}
public static int getItemType(OrderBean.OrderDetailsBean orderDetailsBean, OrderDetail
parentOrderDetail) {
public static int getItemType(OrderBean.OrderDetailsBean orderDetailsBean, OrderDetail parentOrderDetail) {
if (orderDetailsBean != null) {
if (orderDetailsBean.getParentId() == 0) {
return 1;
......
......@@ -55,7 +55,7 @@ public class CommonConfiguration {
*/
public void saveModifierTopIdConfiguration(List<Modifier> datas) {
for (Modifier datasBean : datas) {
if (datasBean.getMid() != null && datasBean.getTopId() != null && datasBean.getMid() != 0 && datasBean.getTopId() != 0) {
if (datasBean.getTopId() != null && datasBean.getMid() != 0 && datasBean.getTopId() != 0) {
mModifierTopIdList.put(Integer.parseInt(datasBean.getMid() + ""), datasBean.getTopId());
}
}
......
......@@ -6,14 +6,14 @@ package com.gingersoft.gsa.cloud.constans;
public class HttpsConstans {
//默認為香港
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";
public static final String ROOT_SERVER_ADDRESS_FORMAL_SZ = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器
public static final String ROOT_SERVER_ADDRESS_FORMAL_HK = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器
public static final String ROOT_SERVER_ADDRESS_FORMAL_SZ = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";//深圳服务器
public static final String ROOT_SERVER_ADDRESS_FORMAL_HK = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";//香港服务器
public static String ROOT_SERVER_YOU_CHANG_HK = "http://192.168.1.142:9012/api/"; //友常本地
public static String ROOT_SERVER_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器
public static String ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/";//清機接口地址
public static String REPORT_SERVER_ADDRESS = "http://a.ricepon.com:58201/ricepon-report/api/";//報表地址
public static String WECHAR_REPORT_SERVER_ADDRESS = "http://a.ricepon.com:61177/member-web/api/";//微信公眾號報表地址:首頁曲線圖數據,支付分析報表數據
public static String _SERVER_ADDRESS = "http://a.ricepon.com:61177/member-web/api/";//報表地址
}
......@@ -28,7 +28,7 @@ public interface MealConstant {
String ADD_FOOD_MODIFIER = "add_food_modifier";
String UPDATE_MODIFIER_MAX_QTY = "update_modifier_max_qty";
String SOLDOUT_MODIFIER = "soldout_modifier";
String EXIT_IS_PLU_MODE = "ExitIsPluMode";
......
......@@ -68,6 +68,8 @@ public class DaoManager {
}
sDaoSession = sDaoMaster.newSession();
}
//清除Greendao緩存
sDaoSession.clear();
return sDaoSession;
}
......
package com.gingersoft.gsa.cloud.database.bean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import org.greenrobot.greendao.annotation.Generated;
import java.util.Date;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-08
* 修订历史:2020-05-08
* 描述:餐廳擴展設置表
*/
@Entity
public class ExpandInfo {
@Property(nameInDb = "_id")
@Id(autoincrement = true)
private Long id;
private int restaurant_id;
/**功能建名称*/
private String settingName;
/**功能值*/
private Integer valueInt;
private String valueChar;
private Date valueDatetime;
/**功能说明*/
private String remark;
@Generated(hash = 1943112611)
public ExpandInfo(Long id, int restaurant_id, String settingName,
Integer valueInt, String valueChar, Date valueDatetime, String remark) {
this.id = id;
this.restaurant_id = restaurant_id;
this.settingName = settingName;
this.valueInt = valueInt;
this.valueChar = valueChar;
this.valueDatetime = valueDatetime;
this.remark = remark;
}
@Generated(hash = 9429432)
public ExpandInfo() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public int getRestaurant_id() {
return restaurant_id;
}
public void setRestaurant_id(int restaurant_id) {
this.restaurant_id = restaurant_id;
}
public String getSettingName() {
return settingName;
}
public void setSettingName(String settingName) {
this.settingName = settingName;
}
public Integer getValueInt() {
return valueInt;
}
public void setValueInt(Integer valueInt) {
this.valueInt = valueInt;
}
public String getValueChar() {
return valueChar;
}
public void setValueChar(String valueChar) {
this.valueChar = valueChar;
}
public Date getValueDatetime() {
return valueDatetime;
}
public void setValueDatetime(Date valueDatetime) {
this.valueDatetime = valueDatetime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
......@@ -573,26 +573,29 @@ public class Food {
* 自定義字段
*/
@Transient
/**選中數量*/
@Transient
private int number;
/**食品組ID*/
@Transient
private long topId;
@Transient
/**背景顏色*/
private int bgColor = Color.parseColor("#03a9f4");
@Transient
private int bgColor = Color.parseColor("#03a9f4");
/**字體顏色*/
private int fontColor = Color.parseColor("#FFFFFF");
@Transient
private int fontColor = Color.parseColor("#FFFFFF");
/**最大選中數*/
private int maxNumber = 99;
@Transient
private String maxNumber = "";
/**動態的最大選中數*/
@Transient
private String currentMaxNumber= "";
/**是否選中*/
private boolean selected;
@Transient
private boolean selected;
/**是否组合食品*/
@Transient
private boolean isComboFood = false;
......@@ -1257,14 +1260,22 @@ public class Food {
this.fontColor = fontColor;
}
public int getMaxNumber() {
public String getMaxNumber() {
return maxNumber;
}
public void setMaxNumber(int maxNumber) {
public void setMaxNumber(String maxNumber) {
this.maxNumber = maxNumber;
}
public String getCurrentMaxNumber() {
return currentMaxNumber;
}
public void setCurrentMaxNumber(String currentMaxNumber) {
this.currentMaxNumber = currentMaxNumber;
}
public boolean isSelected() {
return selected;
}
......
......@@ -57,6 +57,9 @@ public class Function {
@Transient
private int iconRes;
@Transient
private String lable;
@Generated(hash = 816556116)
public Function(Long dbid, @NotNull Long id, int parentId, int groupId, int status,
long effectiveTime, String resName, String resUrl, String imageURL, int icRes) {
......@@ -256,6 +259,14 @@ public class Function {
this.icRes = icRes;
}
public String getLable() {
return lable;
}
public void setLable(String lable) {
this.lable = lable;
}
@Override
public String toString() {
return "Function{" +
......@@ -277,6 +288,7 @@ public class Function {
", backgroundColorRes=" + backgroundColorRes +
", textSizeRes=" + textSizeRes +
", iconRes=" + iconRes +
", lable='" + lable + '\'' +
'}';
}
}
......@@ -389,9 +389,7 @@ public class Modifier {
/**
* 自定義字段
*/
/**
* 當前食品ID
*/
/** 當前食品ID*/
@Transient
private long fid;
@Transient
......@@ -405,13 +403,14 @@ public class Modifier {
private int fontColor = Color.parseColor("#FFFFFF");
@Transient
/**最大選中數*/
private int maxNumber = 99;
private String maxNumber = "";
/**動態的最大選中數*/
@Transient
/**最小選中數*/
private int minNumber = 1;
/**
* 默認選中數
*/
private String currentMaxNumber= "";
/**是否售罄*/
@Transient
private boolean isSoldout = false;
/** 默認選中數*/
@Transient
private String defmodifier = "0";
@Transient
......@@ -428,8 +427,6 @@ public class Modifier {
}
@Generated(hash = 1490458360)
public Modifier(Long dbid, long mid, long topId, long restaurantId,
String modifierName, long seqNo, double marketPrice, double price,
......@@ -496,13 +493,11 @@ public class Modifier {
}
public Long getDbid() {
return dbid;
}
public Long getMid() {
public long getMid() {
return mid;
}
......@@ -717,10 +712,18 @@ public class Modifier {
return fontColor;
}
public int getMaxNumber() {
public String getMaxNumber() {
return maxNumber;
}
public String getCurrentMaxNumber() {
return currentMaxNumber;
}
public void setCurrentMaxNumber(String currentMaxNumber) {
this.currentMaxNumber = currentMaxNumber;
}
public boolean isSelected() {
return selected;
}
......@@ -733,10 +736,6 @@ public class Modifier {
this.dbid = dbid;
}
public void setMid(Long mid) {
this.mid = mid;
}
public void setTopId(Long topId) {
this.topId = topId;
}
......@@ -941,16 +940,16 @@ public class Modifier {
this.fontColor = fontColor;
}
public void setMaxNumber(int maxNumber) {
public void setMaxNumber(String maxNumber) {
this.maxNumber = maxNumber;
}
public int getMinNumber() {
return minNumber;
public boolean isSoldout() {
return isSoldout;
}
public void setMinNumber(int minNumber) {
this.minNumber = minNumber;
public void setSoldout(boolean soldout) {
isSoldout = soldout;
}
public void setSelected(boolean selected) {
......
......@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 4): knows all DAOs.
* Master of DAO (schema version 5): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 4;
public static final int SCHEMA_VERSION = 5;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
......@@ -29,6 +29,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao.createTable(db, ifNotExists);
ModifierDao.createTable(db, ifNotExists);
PrinterDeviceBeanDao.createTable(db, ifNotExists);
ExpandInfoDao.createTable(db, ifNotExists);
}
/** Drops underlying database table using DAOs. */
......@@ -41,6 +42,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao.dropTable(db, ifExists);
ModifierDao.dropTable(db, ifExists);
PrinterDeviceBeanDao.dropTable(db, ifExists);
ExpandInfoDao.dropTable(db, ifExists);
}
/**
......@@ -67,6 +69,7 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass(FunctionDao.class);
registerDaoClass(ModifierDao.class);
registerDaoClass(PrinterDeviceBeanDao.class);
registerDaoClass(ExpandInfoDao.class);
}
public DaoSession newSession() {
......
......@@ -16,6 +16,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
......@@ -25,6 +26,7 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.FunctionDao;
import com.gingersoft.gsa.cloud.database.greendao.ModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
import com.gingersoft.gsa.cloud.database.greendao.ExpandInfoDao;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
......@@ -43,6 +45,7 @@ public class DaoSession extends AbstractDaoSession {
private final DaoConfig functionDaoConfig;
private final DaoConfig modifierDaoConfig;
private final DaoConfig printerDeviceBeanDaoConfig;
private final DaoConfig expandInfoDaoConfig;
private final ComboItemDao comboItemDao;
private final DiscountDao discountDao;
......@@ -52,6 +55,7 @@ public class DaoSession extends AbstractDaoSession {
private final FunctionDao functionDao;
private final ModifierDao modifierDao;
private final PrinterDeviceBeanDao printerDeviceBeanDao;
private final ExpandInfoDao expandInfoDao;
public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
daoConfigMap) {
......@@ -81,6 +85,9 @@ public class DaoSession extends AbstractDaoSession {
printerDeviceBeanDaoConfig = daoConfigMap.get(PrinterDeviceBeanDao.class).clone();
printerDeviceBeanDaoConfig.initIdentityScope(type);
expandInfoDaoConfig = daoConfigMap.get(ExpandInfoDao.class).clone();
expandInfoDaoConfig.initIdentityScope(type);
comboItemDao = new ComboItemDao(comboItemDaoConfig, this);
discountDao = new DiscountDao(discountDaoConfig, this);
foodDao = new FoodDao(foodDaoConfig, this);
......@@ -89,6 +96,7 @@ public class DaoSession extends AbstractDaoSession {
functionDao = new FunctionDao(functionDaoConfig, this);
modifierDao = new ModifierDao(modifierDaoConfig, this);
printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this);
expandInfoDao = new ExpandInfoDao(expandInfoDaoConfig, this);
registerDao(ComboItem.class, comboItemDao);
registerDao(Discount.class, discountDao);
......@@ -98,6 +106,7 @@ public class DaoSession extends AbstractDaoSession {
registerDao(Function.class, functionDao);
registerDao(Modifier.class, modifierDao);
registerDao(PrinterDeviceBean.class, printerDeviceBeanDao);
registerDao(ExpandInfo.class, expandInfoDao);
}
public void clear() {
......@@ -109,6 +118,7 @@ public class DaoSession extends AbstractDaoSession {
functionDaoConfig.clearIdentityScope();
modifierDaoConfig.clearIdentityScope();
printerDeviceBeanDaoConfig.clearIdentityScope();
expandInfoDaoConfig.clearIdentityScope();
}
public ComboItemDao getComboItemDao() {
......@@ -143,4 +153,8 @@ public class DaoSession extends AbstractDaoSession {
return printerDeviceBeanDao;
}
public ExpandInfoDao getExpandInfoDao() {
return expandInfoDao;
}
}
......@@ -392,8 +392,7 @@ public class ModifierDaoUtils {
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
if (fid != 0) {
//非公共細項
order.setMaxNumber(c.getInt(c.getColumnIndex("MAX_QTY")));
order.setMinNumber(c.getInt(c.getColumnIndex("MIN_QTY")));
order.setMaxNumber(String.valueOf(c.getInt(c.getColumnIndex("MAX_QTY"))));
String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier);
......
......@@ -29,20 +29,30 @@ public class FunctionManager {
}
public List<Function> getFunctionByResModule(Context context, Class c, String specific) {
public List<Function> getFunctionByResModule(Context context, Class c, FModule[] fModules, String specific) {
String resLoction = c.getSimpleName().toLowerCase() + "/" + specific;
FunctionDaoUtils daoUtils = new FunctionDaoUtils(context);
List<Function> functionList = daoUtils.queryAllFunction();
return filterFunctionByResLoction(functionList, resLoction);
return filterFunctionByResLoction(functionList, fModules, resLoction);
}
private List<Function> filterFunctionByResLoction(List<Function> functionList, String resLoction) {
private List<Function> filterFunctionByResLoction(List<Function> functionList, FModule[] fModules, String resLoction) {
List<Function> functions = new ArrayList<>();
for (int i = 0; i < functionList.size(); i++) {
Function function = functionList.get(i);
if (function.getResUrl().startsWith(resLoction)) {
for (int j = 0; j < fModules.length; j++) {
FModule module = fModules[j];
if(function.getResUrl().equals(module.getKeyRes())){
if (function.getStatus() == 0) {
function.setIconRes(module.getOpenIconRes());
} else {
function.setIconRes(module.getDisableIconRes());
}
}
}
functions.add(function);
}
}
......
package com.gingersoft.gsa.cloud.function;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.database.bean.Function;
/**
* 作者:ELEGANT_BIN
* 版本:1/6/0
* 创建日期:2020-04-10
* 修订历史:2020-04-10
* 描述:每個功能模塊對應的key
*/
public class FunctionModule {
public static final class Main{
/**首頁- 點餐*/
public static final FModule [] order = {
new FModule("main/order/table", R.drawable.table_splite,0) ,
new FModule("main/order/delivery", R.drawable.table_paper,0) ,
new FModule("main/order/takeaway", R.drawable.table_skyorder,0),
new FModule("main/order/preorder", R.drawable.table_skyorder,0),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager/bill", R.drawable.table_splite,0) ,
new FModule("main/manager/table", R.drawable.table_paper,0) ,
new FModule("main/manager/printer", R.drawable.table_skyorder,0),
new FModule("main/manager/pay", R.drawable.table_skyorder,0),
new FModule("main/manager/discout", R.drawable.table_skyorder,0)
};
/**首頁- 員工管理*/
public static final FModule [] employee = {
new FModule("main/employee/management", R.drawable.table_splite,0) ,
new FModule("main/employee/delivery", R.drawable.table_paper,0) ,
new FModule("main/employee/takeaway", R.drawable.table_skyorder,0)
};
}
public static final class Table{
/**餐檯頁*/
public static final FModule [] bottom = {
new FModule("table/bottom/init", R.drawable.table_init,0) ,
new FModule("table/bottom/move", R.drawable.table_move,0) ,
new FModule("table/bottom/splite", R.drawable.table_splite,0) ,
new FModule("table/bottom/parper", R.drawable.table_paper,0) ,
new FModule("table/bottom/skyorder", R.drawable.table_skyorder,0)
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.drawable.table_paper,0) ,
new FModule("table/meal/discount", R.drawable.table_skyorder,0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
};
}
}
......@@ -21,11 +21,14 @@ import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Matrix;
import android.widget.Adapter;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.jess.arms.base.DefaultAdapter;
import java.util.ArrayList;
import java.util.List;
......@@ -43,6 +46,8 @@ public class PrinterUtils {
"0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011",
"1100", "1101", "1110", "1111"};
public static String printMachineCode;
/**
* 初始化打印机
*
......@@ -451,18 +456,29 @@ public class PrinterUtils {
/**
* 顯示修改打印方式的彈窗
*
* @param context
*/
public static void switchPrintMethod(Context context){
public static void switchPrintMethod(Context context, Function function, DefaultAdapter orderTopFunctionAdapter) {
// 顯示切換打印方式的彈窗
new DialogUtils(context, R.layout.print_select_print_method) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
hepler.setViewClick(R.id.local_print, v -> {
if (function != null) {
PrinterUtils.printMachineCode = "本機";
function.setLable("本機");
orderTopFunctionAdapter.notifyDataSetChanged();
}
SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.LOCAL_PRINT);
dialog.dismiss();
});
hepler.setViewClick(R.id.internet_print, v -> {
if (function != null) {
PrinterUtils.printMachineCode = "網絡";
function.setLable("網絡");
orderTopFunctionAdapter.notifyDataSetChanged();
}
SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.IP_PRINT);
dialog.dismiss();
});
......
......@@ -16,19 +16,8 @@
package com.qmuiteam.qmui.lint;
import com.android.tools.lint.detector.api.Category;
import com.android.tools.lint.detector.api.Detector;
import com.android.tools.lint.detector.api.Implementation;
import com.android.tools.lint.detector.api.Issue;
import com.android.tools.lint.detector.api.JavaContext;
import com.android.tools.lint.detector.api.Project;
import com.android.tools.lint.detector.api.Scope;
import com.android.tools.lint.detector.api.Severity;
import com.intellij.psi.JavaElementVisitor;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiExpressionList;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiMethodCallExpression;
import android.icu.util.ULocale;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
......@@ -40,6 +29,8 @@ import java.io.InputStreamReader;
import java.util.Collections;
import java.util.List;
import javax.inject.Scope;
/**
* 检测是否在 getDrawable 方法中传入了 Vector Drawable,在 4.0 及以下版本的系统中会导致 Crash
* Created by Kayo on 2017/8/24.
......@@ -51,7 +42,7 @@ public class QMUIJavaVectorDrawableDetector extends Detector implements Detector
Issue.create("QMUIGetVectorDrawableWithWrongFunction",
"Should use the corresponding method to get vector drawable.",
"Using the normal method to get the vector drawable will cause a crash on Android versions below 4.0",
Category.CORRECTNESS, 8, Severity.ERROR,
ULocale.Category.CORRECTNESS, 8, Severity.ERROR,
new Implementation(QMUIJavaVectorDrawableDetector.class, Scope.JAVA_FILE_SCOPE));
@Override
......
......@@ -14,5 +14,12 @@
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application>
</manifest>
......@@ -28,10 +28,10 @@
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360" />
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="540" />
android:value="640"/>
</application>
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
......
......@@ -4,6 +4,7 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
......@@ -11,6 +12,29 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public class ComponentTable implements IComponent {
public static final class Function{
/**餐檯頁*/
public static final FModule[] bottom = {
new FModule("table/bottom/init", R.mipmap.table_init,0) ,
new FModule("table/bottom/move", R.mipmap.table_move,0) ,
new FModule("table/bottom/splite", R.mipmap.table_splite,0) ,
new FModule("table/bottom/parper", R.mipmap.table_paper,0) ,
new FModule("table/bottom/skyorder", R.mipmap.table_skyorder,0)
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.mipmap.table_paper,0) ,
new FModule("table/meal/discount", R.mipmap.table_skyorder,0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
};
}
@Override
public String getName() {
......
......@@ -109,6 +109,8 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseRespose> loadOrder(long orderId);
// Observable<BaseRespose> deleteFood(List<Map<Byte, DeleteOrderRequest>> mapsDelete, long orderId, byte type, int reasonId);
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
......@@ -9,6 +11,11 @@ import com.jess.arms.mvp.IView;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.POST;
/**
......@@ -66,5 +73,12 @@ public interface SoldoutCtrlContract {
List<Food> queryDB_FoodList(long parentId);
List<ComboItem> queryDB_ComboList(long fid);
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> insertSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> restoreSoldoutCtrl( RequestBody requestBody);
}
}
......@@ -110,6 +110,12 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseRespose> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId);
......
......@@ -2,11 +2,13 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
......@@ -16,6 +18,9 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* ================================================
......@@ -69,4 +74,22 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
return foodCombo;
}
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.insertSoldoutCtrl(requestBody);
}
@Override
public Observable<BaseResult> restoreSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.restoreSoldoutCtrl(requestBody);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-30
* 修订历史:2020-04-30
* 描述:
*/
public class SoldoutCtrFood {
private long id;
private int restaurantId;
private long brandId;
private Long foodId;
private Long modifierId;
private byte type;
private int remainingNumber = -999999999;
private int useNumber = -999999999;
private String foodName;
private String foodName1;
private String foodName2;
private int selected;
public String getQtyName() {
if (remainingNumber == -999999999) {
return "";
}
if (useNumber == -999999999) {
useNumber = 0;
}
if (remainingNumber == 0) {
return "暫停";
}
if (remainingNumber - useNumber > 0) {
return String.valueOf(remainingNumber - useNumber);
}
if (remainingNumber - useNumber == 0) {
return "售罄";
}
return "";
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName(){
return foodName;
}
public String getFoodName() {
return foodName;
}
public void setFoodName(String foodName) {
this.foodName = foodName;
}
public String getFoodName1() {
return foodName1;
}
public void setFoodName1(String foodName1) {
this.foodName1 = foodName1;
}
public String getFoodName2() {
return foodName2;
}
public void setFoodName2(String foodName2) {
this.foodName2 = foodName2;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public long getBrandId() {
return brandId;
}
public void setBrandId(long brandId) {
this.brandId = brandId;
}
public Long getFoodId() {
return foodId;
}
public void setFoodId(Long foodId) {
this.foodId = foodId;
}
public Long getModifierId() {
return modifierId;
}
public void setModifierId(Long modifierId) {
this.modifierId = modifierId;
}
public byte getType() {
return type;
}
public void setType(byte type) {
this.type = type;
}
public int getRemainingNumber() {
return remainingNumber;
}
public void setRemainingNumber(int remainingNumber) {
this.remainingNumber = remainingNumber;
}
public int getUseNumber() {
return useNumber;
}
public void setUseNumber(int useNumber) {
this.useNumber = useNumber;
}
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-06
* 修订历史:2020-05-06
* 描述:
*/
public class SoldoutRequest {
public static class Insert {
private long brandId;
private int restaurantId;
private Long foodId;
private Long modifierId;
private int type;
private int remainingNumber;
private long uid;
public long getBrandId() {
return brandId;
}
public void setBrandId(long brandId) {
this.brandId = brandId;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public long getFoodId() {
return foodId;
}
public void setFoodId(long foodId) {
this.foodId = foodId;
}
public long getModifierId() {
return modifierId;
}
public void setModifierId(long modifierId) {
this.modifierId = modifierId;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getRemainingNumber() {
return remainingNumber;
}
public void setRemainingNumber(int remainingNumber) {
this.remainingNumber = remainingNumber;
}
public long getUid() {
return uid;
}
public void setUid(long uid) {
this.uid = uid;
}
}
public static class update {
private long id;
/**是否刪除 0 正常 1 刪除*/
private int deletes;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getDeletes() {
return deletes;
}
public void setDeletes(int deletes) {
this.deletes = deletes;
}
}
}
......@@ -15,6 +15,7 @@ import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
......@@ -27,6 +28,17 @@ import retrofit2.http.Query;
*/
public interface MealService {
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getCurrentSoldoutFood(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/insert" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> insertSoldoutCtrl(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/updatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody);
@POST("order/send" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> createOrder(@Body RequestBody requestBody);
......
......@@ -64,7 +64,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
super(model, rootView);
this.IView = (AllTableFragment) rootView;
Activity activity = IView.getActivity();
Activity activity = IView.getCurrentActivity();
if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity;
} else if (activity instanceof OrderContentActivity) {
......
......@@ -128,6 +128,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
resetSelected();
initOrderAdapter();
initItemClickListener();
addSentOrderMoney();
addOrderRounding();
}
@Override
......@@ -139,44 +143,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
this.mApplication = null;
}
protected List<Discount> getDiscountList() {
List<Discount> discountList = new ArrayList<>();
Discount discount = new Discount();
discount.setId((long) 1);
discount.setDiscount_value((double) 10);
discount.setType(1);
discount.setStatus(0);
discount.setRemark("9折");
discountList.add(discount);
Discount discount2 = new Discount();
discount2.setId((long) 2);
discount2.setDiscount_value((double) 20);
discount2.setType(1);
discount2.setStatus(0);
discount2.setRemark("8折");
discountList.add(discount2);
Discount discount3 = new Discount();
discount3.setId((long) 3);
discount3.setDiscount_value((double) 30);
discount3.setType(1);
discount3.setStatus(0);
discount3.setRemark("7折");
discountList.add(discount3);
Discount discount4 = new Discount();
discount4.setId((long) 4);
discount4.setAmount((double) 20);
discount4.setType(0);
discount4.setStatus(0);
discount4.setRemark("立減20");
discountList.add(discount4);
return discountList;
}
private void initOrderAdapter() {
if (mSelectMealAdapter == null) {
mSelectMealAdapter = new SelectMealAdapter(IActivity, mOrderFoodList, this);
......@@ -186,8 +152,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if (mOrderMoneyAdapter == null) {
mOrderMoneyAdapter = new OrderMoneyAdapter(IActivity, mOrderMoneyList, cashStr);
}
addSentOrderMoney();
initItemClickListener();
}
private void initItemClickListener() {
......@@ -213,7 +177,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity.initOrderDetail();
}
//更新折扣
updateDiscountItem();
updateOrderMoneyItem();
}
@Override
......@@ -224,7 +188,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity.initOrderDetail();
}
//更新折扣
updateDiscountItem();
updateOrderMoneyItem();
}
@Override
......@@ -241,7 +205,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if (mMealStandPresenter != null) {
mMealStandPresenter.updateOrderFoodNumber();
}
updateDiscountItem();
updateOrderMoneyItem();
mSelectMealAdapter.notifyDataSetChanged();
}
......@@ -329,6 +293,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 更新賬單金額
*/
protected void updateOrderMoneyItem(){
updateOrderDiscount();
updateOrderRounding();
}
/**
* 添加賬單折扣
*
* @param discount
......@@ -361,7 +333,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/**
* 更新折扣金額
*/
protected void updateDiscountItem() {
protected void updateOrderDiscount() {
boolean updateData = false;
double totalMoney = 0;
......@@ -393,9 +365,23 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
//參與折扣
orderDetailsBean.setAblediscount(1);
if (!orderDetailsBean.isNew()) {
if (orderDetailsBean.getDiscountStatus() == 0) {
//此食品新增折扣
orderDetailsBean.setDiscountStatus(1);
}
}
}
}
}
} else {
for (int i = 0; i < orderDetailList.size(); i++) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetailsBean = orderDetailList.get(i);
orderDetailsBean.setAblediscount(0);
orderDetailsBean.setDiscountStatus(0);
}
}
}
if (updateData) {
mSelectMealAdapter.notifyDataSetChanged();
......@@ -403,6 +389,38 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 添加賬單小數行
*/
protected void addOrderRounding() {
double m1 = getTotalAmount();
double m2 = MoneyUtil.getOrderRounding(m1);
double roundingMoney = 0.0;
if (m2 != 0) {
roundingMoney = m2 - MoneyUtil.get_ItemDecimals_money(m1);
}
if (roundingMoney != 0.00) {
BillOrderMoney roundingItem = new BillOrderMoney();
roundingItem.setMoney(MoneyUtil.getDecimalMoney(roundingMoney,MoneyUtil.ItemDecimals));
roundingItem.setTitle("賬單小數");
roundingItem.setType(BillOrderMoney.ROUNDING_TYPE);
mOrderMoneyList.add(roundingItem);
mOrderMoneyAdapter.notifyDataSetChanged();
}
}
/**
* 更新賬單小數
*/
protected void updateOrderRounding(){
for (BillOrderMoney orderMoney: mOrderMoneyList) {
if(orderMoney.getType() == BillOrderMoney.ROUNDING_TYPE){
mOrderMoneyList.remove(orderMoney);
addOrderRounding();
}
}
}
/**
* 創建訂單后保存OrderId
*
* @param orderId
......@@ -419,7 +437,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
OrderDetail datasBean = mOrderFoodList.get(i);
datasBean.setSelected(0);
}
if(mSelectMealAdapter != null) {
if (mSelectMealAdapter != null) {
mSelectMealAdapter.notifyDataSetChanged();
}
}
......@@ -489,7 +507,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
for (int i = orderDetails.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = orderDetails.get(i);
if(orderDetail1.getType() != DISCOUNT_TYPE){
if (orderDetail1.getType() != DISCOUNT_TYPE) {
builder.append(orderDetail1.getId());
builder.append(",");
}
......@@ -670,7 +688,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request.setAblediscount(item.getAblediscount());
request.setDiscountId(getDiscountIdByParentId(foodList, mainParentId));
request.setLunchboxPrice(0);
if (item.isNew() || item.getDiscountStatus() == 0) {
if (item.isNew() || item.getDiscountStatus() == 1) {
//這裡只添加新食品或有新折扣食品
orderItems.add(request);
//保存新食品,打印用到
......@@ -729,7 +747,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return null;
}
/**
* 返回未送單食品列表
*
......
......@@ -57,7 +57,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private FineItemTwoAdapter mFineItemTwoAdapter;
//所有沽清数据
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = null;
// private List<SoldoutCtrFood.DatasBean> mCurrentSlodoutFoodList_Full = null;
private List<Modifier> mFineItemOneList = new ArrayList<>();
private List<Modifier> mFineItemTwoList = new ArrayList<>();
......@@ -171,7 +171,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private void addModifierItem(Modifier datasBean) {
int OR_Qty = datasBean.getMaxNumber();
String OR_Qty = datasBean.getMaxNumber();
int Qty = datasBean.getNumber();
boolean isSoldout = false;
......@@ -219,7 +219,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private boolean isStopOpeart(Modifier datasBean) {
boolean isStopOpeart = false;
// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
// for (CurrentSoldoutFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// for (SoldoutCtrFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
// if (!TextUtils.isEmpty(csf.get_QtyName())) {
// isStopOpeart = true;
......@@ -294,13 +294,13 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
modifier.setFid(fid);
}
}
// public void updateCurrentSlodoutFoodList_Full1(List<CurrentSoldoutFood.DatasBean> event) {
// public void updateCurrentSlodoutFoodList_Full1(List<SoldoutCtrFood.DatasBean> event) {
// this.mCurrentSlodoutFoodList_Full = event;
// mFineItemOneAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemOneAdapter.notifyDataSetChanged();
// }
//
// public void updateCurrentSlodoutFoodList_Full2(List<CurrentSoldoutFood.DatasBean> event) {
// public void updateCurrentSlodoutFoodList_Full2(List<SoldoutCtrFood.DatasBean> event) {
// mFineItemTwoAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemTwoAdapter.notifyDataSetChanged();
// }
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import android.graphics.Color;
import android.os.CountDownTimer;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
......@@ -121,18 +122,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView.setOrderDetailAdapter(mOrderMoneyAdapter);
}
mRootView.setFoodAdapter(mSelectMealAdapter);
setPrinterMachineName();
}
public void initItemListener() {
mOrderTopFunctionAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
mOrderTopFunctionAdapter.setOnClickListener(new OrderTopFunctionAdapter.OnClickListener() {
@Override
public void onItemClick(View view, int viewType, Object data, int position) {
public void onItemClick(View v, Function function) {
mRootView.recordOperat(true);
if (XClickUtil.isFastDoubleClick(view, 1000)) {
if (XClickUtil.isFastDoubleClick(v, 1000)) {
return;
}
Function function = (Function) data;
switch (function.getResName()) {
case "送單":
sendOrder(false);
......@@ -168,6 +169,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
break;
}
}
@Override
public boolean onItemLongClick(View v, Function datasBean) {
if (datasBean.getResName().equals("印單") || datasBean.getResName().equals("送單")) {
PrinterUtils.switchPrintMethod(IActivity,datasBean, mOrderTopFunctionAdapter);
}
return false;
}
});
mOrderMoneyAdapter.setOnItemClickListener(new OrderMoneyAdapter.OnItemClickListener() {
......@@ -181,14 +190,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
removeOrderDetailItem(position);
}
});
mOrderTopFunctionAdapter.setmOnLongClickListener((v, position) -> {
if (mFunctionList != null) {
if (mFunctionList.get(position).getResName().equals("印單") || mFunctionList.get(position).getResName().equals("送單")) {
PrinterUtils.switchPrintMethod(v.getContext());
}
}
return false;
});
}
public void initTopFunctionData() {
......@@ -211,6 +212,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
public void setPrinterMachineName() {
if (!TextUtils.isEmpty(PrinterUtils.printMachineCode)) {
for (Function function : mFunctionList) {
if (function.getResName().equals("印單")) {
function.setLable(PrinterUtils.printMachineCode);
mOrderTopFunctionAdapter.notifyDataSetChanged();
break;
}
}
}
}
protected void createOrder(boolean isPrint) {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
......@@ -310,7 +323,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// }
mRootView.sendSuccess();
});
//打印上菜紙
//打印上菜紙
// CC.obtainBuilder("Component.Print")
// .setActionName("printActivity")
// .addParam("NewFoods", newFoods)
......@@ -562,7 +575,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() {
@Override
public void onItemClick(Discount item, int position) {
addOrderDiscount(item,0,false);
addOrderDiscount(item, 0, false);
}
});
}
......
......@@ -65,7 +65,7 @@ public class StateTablePresenter extends BasePresenter<StateTableContract.Model,
super(model, rootView);
this.IView = (StateTableFragment) rootView;
Activity activity = IView.getActivity();
Activity activity = IView.getCurrentActivity();
if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity;
} else if (activity instanceof OrderContentActivity) {
......
......@@ -68,7 +68,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
super(model, rootView);
AllOrderFragment allOrderFragment = (AllOrderFragment) rootView;
this.IActivity = (OrderCenterActivity) allOrderFragment.getActivity();
this.IActivity = (OrderCenterActivity) allOrderFragment.getCurrentActivity();
}
@Override
......
......@@ -51,12 +51,13 @@ import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper;
......@@ -258,15 +259,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
EventBus.getDefault().registerSticky(this);
//清除Greendao食品緩存
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(this);
foodDaoUtils.detachAll();
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(this);
foodComboDaoUtils.detachAll();
FoodModifierDaoUtils foodModifierDaoUtils = new FoodModifierDaoUtils(this);
foodModifierDaoUtils.detachAll();
ComboItemDaoUtils comboItemDaoUtils = new ComboItemDaoUtils(this);
comboItemDaoUtils.detachAll();
super.onCreate(savedInstanceState);
}
......@@ -277,6 +269,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initViewMap();
//初始化Plu模式
setPluMode();
......@@ -284,7 +277,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mPresenter.initItemClickListener();
//初始化默认食品组
mPresenter.initMealData();
setViewDrawableColor();
//搜索
keyView.setOnConfirmCallBack(inputText -> {
if (TextUtils.isEmpty(inputText))
......@@ -295,6 +287,9 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
//根据倒计时时间自动退出当前页面
initAutoQuit();
}
mPresenter.getCurrentSoldoutFood();
setViewDrawableColor();
initTableDetail();
}
......@@ -333,7 +328,8 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mLayoutManager = new PagerGridLayoutManager(Rows, GoldConstants.foodGriupColumns, PagerGridLayoutManager.HORIZONTAL);
// 水平分页布局管理器
mLayoutManager.setPageListener(this); //设置页面变化监听器
mLayoutManager.setPageListener(this);
//设置页面变化监听器
rv_food_group.setLayoutManager(mLayoutManager);
// 设置滚动辅助工具
......@@ -344,26 +340,18 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
PagerConfig.setShowLog(true);
// 使用原生的 Adapter 即可
mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList);
mFoodGroupAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onChanged() {
super.onChanged();
int count = mFoodGroupAdapter.getItemCount();
}
});
mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList,1);
rv_food_group.setAdapter(mFoodGroupAdapter);
mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() {
@Override
public void onItemClick(Food datasBean, int position) {
recordOperat(true);
if (!foodGroupConditionFilter(datasBean, false)) {
if (!mPresenter.foodGroupConditionFilter(datasBean, false)) {
return;
}
mPresenter.setRvMealClicked(false);
mPresenter.changedMealByParentId(datasBean.getId());
mPresenter.setFoodSoldoutCtrData();
}
});
......@@ -399,27 +387,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
}
}
/**
* 添加食品条件过滤
* 1:售罄、最大选择数
*/
public boolean foodGroupConditionFilter(Food foodBean, boolean init) {
if (init) {
return true;
}
long Invisible = foodBean.getInvisible();
if (Invisible == 2) {
new QMUITipDialog.Builder(this)
.setTipWord("已售罄(Comm.sold)")
.create(true);
return false;
}
return true;
}
@Override
public boolean isInitFineItemLayout() {
return initFineItemLayout;
......@@ -444,7 +411,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
String[] tabTitles = new String[3];
tabTitles[0] = "口味";
tabTitles[1] = "特別信息";
// tabTitles[2] = "多選";
BaseFragmentAdapter adapter = new BaseFragmentAdapter(this, fm, fragmentList, Arrays.asList(tabTitles));
pager_fine.setAdapter(adapter);
......@@ -758,7 +724,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public void setFoodGroupAdapter(DefaultAdapter adapter) {
rv_food_group.addItemDecoration(new GridDividerItemDecoration(QMUIDisplayHelper.dpToPx(1), ArmsUtils.getColor(getActivity(), R.color.black)));
rv_food_group.addItemDecoration(new GridDividerItemDecoration(QMUIDisplayHelper.dpToPx(1), ArmsUtils.getColor(mContext, R.color.black)));
rv_food_group.setAdapter(adapter);
}
......@@ -1023,30 +989,36 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
initFineItemTabBarViewPage();
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemAllFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemAllFragment_onMidEvent");
setFineItemSlodoutListFull(mPresenter.getSoldoutCtrList());
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemKindFragment_onMidEvent");
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
} else {
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
setCurrentFinePage();
showViewModeVisibility(MealConstant.fine_ViewMode, MealConstant.fine_tabs_ViewMode);
}
}
/**
* 設置細項沽清數據
* @param slodoutListFull
*/
public void setFineItemSlodoutListFull(List<SoldoutCtrFood> slodoutListFull) {
if (modMsgFineItemFragment != null) {
modMsgFineItemFragment.updateCurrentSlodoutFoodList_Full(slodoutListFull);
}
if (modSasteFineItemFragment != null) {
modSasteFineItemFragment.updateCurrentSlodoutFoodList_Full(slodoutListFull);
}
}
private void initViewMap() {
map.put(MealConstant.food_group_ViewMode, ll_food_group);
map.put(MealConstant.food_ViewMode, rv_food);
......@@ -1059,7 +1031,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
// @SwitchPrintMethod
btn_send_order.setOnLongClickListener(v -> {
PrinterUtils.switchPrintMethod(mContext);
PrinterUtils.switchPrintMethod(mContext,null,null);
return false;
});
}
......
......@@ -248,7 +248,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
if (difference == 0)
tv_difference_money.setText("$" + Math.abs(difference));
else
tv_difference_money.setText("$-" + Math.abs(difference));
tv_difference_money.setText("-$" + Math.abs(difference));
}
}
......@@ -291,7 +291,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@OnLongClick({R2.id.btn_sure_pay})
public boolean onLongClick(View v) {
if (v.getId() == R.id.btn_sure_pay) {
PrinterUtils.switchPrintMethod(mContext);
PrinterUtils.switchPrintMethod(mContext, null, null);
}
return false;
}
......
......@@ -148,11 +148,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
public void initData(@Nullable Bundle savedInstanceState) {
tv_show_popup.setWidth(ArmsUtils.getScreenWidth(this) / 3);
// Drawable mNormalIconDrawable = ArmsUtils.getDrawablebyResource(this, R.drawable.meal_change_language_index_1);
// QMUIDrawableHelper.setDrawableTintColor(mNormalIconDrawable, ArmsUtils.getColor(mContext,R.color.theme_grey_color));
// mNormalIconDrawable.invalidateSelf();
// iv_tab_icon.setImageDrawable(mNormalIconDrawable);
initTabAndPager();
mPresenter.initBottomFunction();
getTables(true, null);
......@@ -289,7 +284,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break;
case TableOperatTypeConstant.print_parper_2:
setOperatContentText(dataBean.getTableName());
mPresenter.showOperatTipDialog(dataBean);
break;
case TableOperatTypeConstant.init_table_3:
setOperatContentText(dataBean.getTableName());
......@@ -337,7 +333,9 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break;
case TableOperatTypeConstant.print_parper_2:
tv_operat_hint.setText("請選擇檯號");
tv_operat_content.setText("");
mTopBar.setTitle("上菜紙");
break;
case TableOperatTypeConstant.init_table_3:
tv_operat_hint.setText("請選擇需要重置的檯號");
......
......@@ -33,7 +33,12 @@ public class BillMoneyAdapter extends BaseQuickAdapter<PayMethod, BaseViewHolder
TextView tv_bill_money = helper.getView(R.id.tv_bill_money);
tv_bill_method_name.setText(datasBean.getPayName());
tv_bill_money.setText(cashStr + datasBean.getPayMoney());
if (datasBean.getPayMoney() < 0) {
tv_bill_money.setText("-" + cashStr + Math.abs(datasBean.getPayMoney()));
} else {
tv_bill_money.setText(cashStr + datasBean.getPayMoney());
}
tv_bill_method_name.setTextSize(datasBean.getPayMoneySize());
tv_bill_money.setTextSize(datasBean.getPayMoneySize());
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
......@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager;
......@@ -36,9 +40,9 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
private Context mContext;
//所有沽清类型
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList;
// private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize;
private int mOrderNumberFontSize;
private int mModFontSize;
......@@ -77,7 +81,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food;
return R.layout.meal_item_food;
}
class DateTimeItemHolder extends BaseHolder<Modifier> {
......@@ -90,6 +94,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
TextView tv_number;
// @BindView(R.id.tv_status)
// TextView tv_status;
@BindView(R2.id.tv_soldout)
TextView tv_soldout;
@BindView(R2.id.iv_qtySold)
ImageView iv_qtySold;
......@@ -109,8 +115,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public void onViewClick(View view, int position) {
if(XClickUtil.isFastDoubleClick(view,200)){
return ;
if (XClickUtil.isFastDoubleClick(view, 200)) {
return;
}
if (mOnItemClickListener != null) {
// //设置当前选中item颜色
......@@ -145,7 +151,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
// break;
// }
// if (desc == null || desc.trim().length() == 0) {
desc = datasBean.getModifierName();
desc = datasBean.getModifierName();
// }
// tv_food_name.setMaxWidth(mColwidth);
......@@ -189,13 +195,13 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
// }
// }
// } else {
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
// if (datasBean.isSelected()) {
// tv_food_name.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.orange_500));
// tv_food_name.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
// } else {
tv_food_name.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.Grass_green));
tv_food_name.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
tv_food_name.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.Grass_green));
tv_food_name.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
// }
// }
}
......@@ -220,42 +226,45 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
}
private void setStatus(Modifier datasBean) {
// datasBean.setSoldout(false);
tv_soldout.setMaxHeight(mOrderNumberShowSize);
tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize);
tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
tv_soldout.setMinWidth(20);
tv_soldout.setTextSize(10);
tv_soldout.setGravity(Gravity.CENTER);
iv_qtySold.setVisibility(View.INVISIBLE);
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) {
// String name = sc.get_QtyName();
// if (name.equals("")) {
// tv_number.setVisibility(View.INVISIBLE);
// } else {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// datasBean.setSoldout(true);
// } else {
// tv_number.setVisibility(View.VISIBLE);
// tv_number.setText(name);
// datasBean.setOR_Qty(name);
// }
// }
// }
// }
// }
for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
String name = sc.getQtyName();
if (name.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
if (sc.getQtyName().equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE);
datasBean.setSoldout(true);
} else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
datasBean.setMaxNumber(name);
}
}
}
}
}
}
// public List<CurrentSoldoutFood.DatasBean> getCurrentSlodoutFoodList_Full() {
// return mCurrentSlodoutFoodList_Full;
// }
//
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
// }
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
}
public int getUser_qty() {
return user_qty;
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
......@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager;
......@@ -36,7 +40,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
private Context mContext;
//所有沽清类型
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize;
......@@ -77,7 +81,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food;
return R.layout.meal_item_food;
}
class FineItemHolder extends BaseHolder<Modifier> {
......@@ -90,6 +94,8 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
TextView tv_number;
// @BindView(R.id.tv_status)
// TextView tv_status;
@BindView(R2.id.tv_soldout)
TextView tv_soldout;
@BindView(R2.id.iv_qtySold)
ImageView iv_qtySold;
......@@ -250,20 +256,14 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
}
private void setStatus(Modifier datasBean) {
// tv_status.setMaxHeight(mOrderNumberShowSize);
// tv_status.setMinHeight(mOrderNumberShowSize);
// tv_status.setTextSize(mOrderNumberFontSize);
// tv_status.setMinWidth(20);
// tv_status.setGravity(Gravity.CENTER);
// tv_status.setText("");
// tv_status.setVisibility(View.INVISIBLE);
tv_number.setMaxHeight(mOrderNumberShowSize);
tv_number.setMinHeight(mOrderNumberShowSize);
tv_number.setTextSize(mOrderNumberFontSize);
tv_number.setMinWidth(20);
tv_number.setTextColor(android.graphics.Color.parseColor("#000000"));
tv_number.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
tv_number.setGravity(Gravity.CENTER);
tv_soldout.setMaxHeight(mOrderNumberShowSize);
tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize);
tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
tv_soldout.setMinWidth(20);
tv_soldout.setTextSize(10);
tv_soldout.setGravity(Gravity.CENTER);
ViewGroup.MarginLayoutParams mp = new ViewGroup.MarginLayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //item的宽高
mp.setMargins(0, 0, 0, 0);//分别是margin_top那四个属性
......@@ -273,39 +273,36 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
tv_number.setLayoutParams(lp);
tv_number.setVisibility(View.INVISIBLE);
iv_qtySold.setVisibility(View.INVISIBLE);
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) {
// String name = sc.get_QtyName();
// if (name.equals("")) {
// tv_number.setVisibility(View.INVISIBLE);
// } else {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// } else {
// tv_number.setVisibility(View.VISIBLE);
// tv_number.setText(name);
// }
// }
// }
// }
// }
for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
String name = sc.getQtyName();
if (name.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
if (sc.getQtyName().equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE);
datasBean.setSoldout(true);
} else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
datasBean.setMaxNumber(name);
}
}
}
}
}
}
// public List<CurrentSoldoutFood.DatasBean> getmCurrentSlodoutFoodList_Full() {
// return mCurrentSlodoutFoodList_Full;
// }
//
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
// }
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
}
public int getUser_qty() {
return user_qty;
......
......@@ -75,7 +75,12 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
public void setData(BillOrderMoney datasBean, int position) {
tv_title.setText(datasBean.getTitle());
tv_money.setText(cashStr + datasBean.getMoney());
if (datasBean.getMoney() < 0) {
tv_money.setText("-" + cashStr + Math.abs(datasBean.getMoney()));
} else {
tv_money.setText(cashStr + datasBean.getMoney());
}
tv_title.setTextSize(BillTotalFontSize);
tv_money.setTextSize(BillTotalFontSize);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.table.R;
......@@ -50,7 +53,9 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
class TopFunctionItemHolder extends BaseHolder<Function> {
@BindView(R2.id.btn_name)
QMUIAlphaButton btn_name;
Button btn_name;
@BindView(R2.id.btn_lable)
Button btn_lable;
public TopFunctionItemHolder(View itemView) {
super(itemView);
......@@ -63,7 +68,43 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
btn_name.setTextColor(datasBean.getTextColor());
btn_name.setBackgroundColor(datasBean.getBackgroundColor());
btn_name.setTextSize(datasBean.getTextSize());
if (!TextUtils.isEmpty(datasBean.getLable())) {
btn_lable.setText(datasBean.getLable());
btn_lable.setVisibility(View.VISIBLE);
} else {
btn_lable.setVisibility(View.INVISIBLE);
}
btn_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickListener != null)
onClickListener.onItemClick(v, datasBean);
}
});
btn_name.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (onClickListener != null)
onClickListener.onItemLongClick(v, datasBean);
return false;
}
});
}
}
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public interface OnClickListener {
void onItemClick(View v, Function function);
boolean onItemLongClick(View v, Function function);
}
}
package com.gingersoft.gsa.cloud.ui.adapter.meal;
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context;
import android.graphics.drawable.GradientDrawable;
......@@ -7,11 +7,11 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -66,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_combo;
return R.layout.meal_item_combo;
}
class ComboItemHolder extends BaseHolder<ComboItem> {
......@@ -157,13 +157,20 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
// iv_qty_sold.setVisibility(View.INVISIBLE);
// }
int maxNumber = datasBean.getMaxNumber();
int number = datasBean.getNumber();
if (number >= maxNumber) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(maxNumber);
} else {
// int maxNumber = datasBean.getMaxNumber();
// int number = datasBean.getNumber();
// if (number >= maxNumber) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(maxNumber);
// } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
}
tv_soldout.setMaxHeight(OrderNumberChildShowSize);
......
package com.gingersoft.gsa.cloud.ui.adapter.meal;
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager;
......@@ -35,9 +40,12 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private Context mContext;
private int mOrderNumberShowSize = 14;
private int mOrderNumberFontSize = 14;
private int mFoodFontSize = 14;
//所有沽清类型
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private int mOrderNumberShowSize;
private int mOrderNumberFontSize;
private int mFoodFontSize;
private int mColwidth;
private int mColHeight;
......@@ -48,9 +56,15 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private int user_qty;//在进入的的数量
public boolean check_qty = false;//是否检查数理
public FoodAdapter(Context context, List<Food> infos) {
/**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private int mFromType = 1;
public FoodAdapter(Context context, List<Food> infos, int fromType) {
super(infos);
this.mContext = context;
this.mFromType = fromType;
this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberChildShowSize();
this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberChildFontSize();
this.mFoodFontSize = GsaCloudApplication.androidSetting.getFoodFontSize();
......@@ -71,7 +85,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food;
return R.layout.meal_item_food;
}
class FoodItemHolder extends BaseHolder<Food> {
......@@ -101,7 +115,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setStatus(datasBean);
setOnItemClickListener((view, position1) -> {
if(XClickUtil.isFastDoubleClick(view,200)){
if (XClickUtil.isFastDoubleClick(view, 200)) {
return;
}
resetSelect(position1, datasBean);
......@@ -165,7 +179,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout.setMaxHeight(mOrderNumberShowSize);
tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize);
tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
tv_soldout.setMinWidth(20);
......@@ -180,11 +194,16 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout.setVisibility(View.INVISIBLE);
iv_qtySold.setVisibility(View.INVISIBLE);
long Invisible = datasBean.getInvisible();
if (Invisible == 2) {
iv_qtySold.setVisibility(View.VISIBLE);
String qty = datasBean.getCurrentMaxNumber();
if (TextUtils.isEmpty(qty)) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
iv_qtySold.setVisibility(View.INVISIBLE);
if (qty.equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(qty);
}
}
}
......@@ -232,6 +251,13 @@ public class FoodAdapter extends DefaultAdapter<Food> {
mOnItemClickListener.onItemClick(mInfos.get(position), position);
}
public List<SoldoutCtrFood> getCurrentSlodoutFoodList_Full() {
return mCurrentSlodoutFoodList_Full;
}
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
}
public int getCurrentSelectPosition() {
return currentSelectPosition;
......
package com.gingersoft.gsa.cloud.ui.adapter.meal;
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
......@@ -32,6 +38,8 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private Context mContext;
//所有沽清类型
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize;
private int mOrderNumberFontSize;
......@@ -44,9 +52,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private int currentSelectPosition = 0;
public FoodGroupAdapter(Context context, List<Food> infos) {
/**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private int mFromType = 1;
public FoodGroupAdapter(Context context, List<Food> infos, int fromType) {
super(infos);
this.mContext = context;
this.mFromType = fromType;
this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberShowSize();
this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberFontSize();
......@@ -69,15 +83,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public BaseHolder<Food> getHolder(View v, int viewType) {
return new FoodlKindItemHolder(v);
return new FoodlGroupItemHolder(v);
}
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food_group;
return R.layout.meal_item_food_group;
}
class FoodlKindItemHolder extends BaseHolder<Food> {
class FoodlGroupItemHolder extends BaseHolder<Food> {
@BindView(R2.id.rl_container)
RelativeLayout rl_container;
......@@ -88,7 +102,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@BindView(R2.id.tv_soldout)
TextView tv_soldout;
public FoodlKindItemHolder(View itemView) {
public FoodlGroupItemHolder(View itemView) {
super(itemView);
}
......@@ -103,7 +117,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public void onViewClick(View view, int position) {
if(XClickUtil.isFastDoubleClick(view,200)){
if (XClickUtil.isFastDoubleClick(view, 200)) {
return;
}
if (mOnItemClickListener != null) {
......@@ -221,32 +235,20 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize);
// String qty = datasBean.getOR_Qty();
// if (TextUtils.isEmpty(qty)) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(datasBean.getNumber());
// }
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getFID()) && sc.getType().equals("G")) {
// if (sc.get_QtyName().equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(sc.get_QtyName());
// }
// }
// }
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
}
}
}
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
......
package com.gingersoft.gsa.cloud.ui.adapter.meal;
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context;
import android.view.Gravity;
......@@ -6,11 +6,10 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -65,7 +64,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
@Override
public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_combo;
return R.layout.meal_item_combo;
}
class ComboItemHolder extends BaseHolder<Modifier> {
......@@ -152,13 +151,21 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
// iv_qty_sold.setVisibility(View.INVISIBLE);
// }
int maxNumber = datasBean.getMaxNumber();
int number = datasBean.getNumber();
if (number >= maxNumber) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(maxNumber);
} else {
// int maxNumber = datasBean.getMaxNumber();
// int number = datasBean.getNumber();
// if (number >= maxNumber) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(maxNumber);
// } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
}
tv_soldout.setMaxHeight(OrderNumberChildShowSize);
......
......@@ -404,7 +404,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
notifyItemChanged(i);
Food orderBean = mMealStandPresenter.getOrderFoodById(orderItem.getId());
if (orderBean != null) {
mMealStandPresenter.setUserMaxQty(orderBean);
mMealStandPresenter.setFoodMaxQty(orderBean,false);
}
}
}
......
package com.gingersoft.gsa.cloud.table.mvp.ui.fragment;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ParseException;
import android.os.Bundle;
......@@ -92,9 +94,9 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override
public void initData(@Nullable Bundle savedInstanceState) {
currentPageIndex = getArguments().getInt("currentPageIndex", 0);
orderCenterActivity = (OrderCenterActivity) getActivity();
orderCenterActivity = (OrderCenterActivity) mContext;
mPresenter.initOrderAdapter(getActivity());
mPresenter.initOrderAdapter(mContext);
initRefreshLayout();
}
......@@ -169,6 +171,10 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
}
public Activity getCurrentActivity() {
return (Activity) mContext;
}
private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
......@@ -218,7 +224,7 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
}
private void initAllOrderRecycleViewLayout() {
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false);
recycle_order.setLayoutManager(mAllOrderRecycleLayoutManager);
recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL));
}
......
......@@ -108,11 +108,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
@Override
public void initData(@Nullable Bundle savedInstanceState) {
currentPageIndex = getArguments().getInt("currentPageIndex", TableActivity.FUNCTION_ALL_TABLE);
Activity activity = getActivity();
if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity;
} else if(activity instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) activity;
if (mContext instanceof TableActivity) {
mTableActivity = (TableActivity) mContext;
} else if(mContext instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) mContext;
}
initRefreshLayout();
initRecycleScrollListener();
......@@ -266,6 +265,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
}
public Activity getCurrentActivity() {
return (Activity) mContext;
}
private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
......@@ -326,7 +329,7 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// } else {
mAllTableRecycleLayoutManager = new GridLayoutManager(getActivity(), 4, LinearLayoutManager.VERTICAL, false);
mAllTableRecycleLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_all_table.setLayoutManager(mAllTableRecycleLayoutManager);
// recycle_all_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
......
......@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
......@@ -23,6 +24,8 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.FineItemAllPresenter;
import org.simple.eventbus.Subscriber;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DefaultItemAnimator;
......@@ -83,13 +86,19 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
modCol = GsaCloudApplication.androidSetting.getModCol();
mPresenter.initAdapter();
mPresenter.initItemListener(getActivity());
mPresenter.initItemListener(mContext);
}
@Override
public void setData(@Nullable Object data) {
}
public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> event) {
if (event == null) {
return;
}
mPresenter.updateCurrentSlodoutFoodList_Full(event);
}
public void onModSasteEvent(long mid) {
......@@ -149,25 +158,25 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
private GridLayoutManager mFineItemTwoRecycleLayoutManager;
public void initFineItemTwoRecycleView() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false);
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemTwoRecycleView2() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemAllRecycleView() {
mFineItemAllRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false);
mFineItemAllRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager);
recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemAllRecycleView2() {
mFineItemAllRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
mFineItemAllRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager);
recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator());
}
......@@ -208,7 +217,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
@Override
public Activity getCurrentActivity() {
return getActivity();
return (Activity) mContext;
}
@Override
......
......@@ -79,11 +79,11 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
modCol = GsaCloudApplication.androidSetting.getModCol();
mPresenter.initAdapter();
mPresenter.initItemListener(getActivity());
mPresenter.initItemListener(mContext);
}
// @Subscriber(tag = "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent")
// public void onCurrentSlodoutFoodList_FullEvent(List<CurrentSoldoutFood.DatasBean> event) {
// public void onCurrentSlodoutFoodList_FullEvent(List<SoldoutCtrFood.DatasBean> event) {
// if (event == null) {
// return;
// }
......@@ -157,25 +157,25 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
private GridLayoutManager mFineItemTwoRecycleLayoutManager;
public void initFineItemOneRecycleView() {
mFineItemOneRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false);
mFineItemOneRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager);
recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemOneRecycleView2() {
mFineItemOneRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
mFineItemOneRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager);
recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemTwoRecycleView() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false);
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
}
public void initFineItemTwoRecycleView2() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
}
......@@ -206,7 +206,7 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
@Override
public Activity getCurrentActivity() {
return getActivity();
return (Activity) mContext;
}
@Override
......
......@@ -136,11 +136,10 @@ public class InputTableFragment extends BaseFragment<InputTablePresenter> implem
@Override
public void initData(@Nullable Bundle savedInstanceState) {
Activity activity = getActivity();
if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity;
} else if(activity instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) activity;
if (mContext instanceof TableActivity) {
mTableActivity = (TableActivity) mContext;
} else if(mContext instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) mContext;
}
ed_value.addTextChangedListener(new TextWatcher() {
......
......@@ -88,11 +88,10 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
@Override
public void initData(@Nullable Bundle savedInstanceState) {
Activity activity = getActivity();
if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity;
} else if(activity instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) activity;
if (mContext instanceof TableActivity) {
mTableActivity = (TableActivity) mContext;
} else if(mContext instanceof OrderContentActivity){
mOrderContentActivity = (OrderContentActivity) mContext;
}
initRecycleScrollListener();
......@@ -213,6 +212,9 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
}
public Activity getCurrentActivity() {
return (Activity) mContext;
}
@Override
public void setStateTableAdapter(DefaultAdapter adapter) {
......@@ -230,7 +232,7 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// } else {
mStateTableRecycleLayoutManager = new GridLayoutManager(getActivity(), 4, LinearLayoutManager.VERTICAL, false);
mStateTableRecycleLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_state_table.setLayoutManager(mStateTableRecycleLayoutManager);
// recycle_state_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
......
......@@ -8,7 +8,7 @@
<LinearLayout
android:id="@+id/ll_meals"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_220"
android:layout_height="@dimen/dp_250"
android:orientation="vertical">
<RelativeLayout
......@@ -37,7 +37,6 @@
android:text="數量"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_white_color" />
</RelativeLayout>
<LinearLayout
......@@ -51,7 +50,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:fadeScrollbars="false" />
android:fadeScrollbars="false"
app:spanCount="1"
app:layoutManager="com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"/>
</LinearLayout>
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/normal_space5"
android:paddingBottom="@dimen/normal_space5"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:text="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_5"
android:layout_toLeftOf="@+id/tv_value"
android:layout_toRightOf="@+id/tv_number"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tv_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_20"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/btn_name"
android:orientation="vertical"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:gravity="center"
android:background="@color/theme_color"
android:textColor="@color/theme_white_color"
android:text="送單"
android:textSize="@dimen/font_large"
android:layout_height="wrap_content"
android:layout_margin="1px">
</com.qmuiteam.qmui.alpha.QMUIAlphaButton>
\ No newline at end of file
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_name"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@color/theme_color"
android:textColor="@color/theme_white_color"
android:text="送單"
android:textSize="@dimen/font_large">
</com.qmuiteam.qmui.alpha.QMUIAlphaButton>
<Button
android:id="@+id/btn_lable"
style="@style/ButtonBorderless"
android:layout_width="40dp"
android:layout_height="20dp"
android:layout_gravity="right|bottom"
android:background="@drawable/ui_shape_red_oval"
android:gravity="center"
android:visibility="visible"
android:singleLine="true"
android:layout_margin="@dimen/dp_2"
android:textColor="@color/theme_white_color" />
</FrameLayout>
\ No newline at end of file
......@@ -43,10 +43,10 @@
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360" />
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="540" />
android:value="640"/>
</application>
</manifest>
......@@ -36,10 +36,10 @@
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360" />
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="540" />
android:value="640"/>
</application>
</manifest>
\ No newline at end of file
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