Commit 9f8088c0 by Wyh

9.23 1、application方法參數修改 2、凍鏈自動接單 3、外送息屏優化 4、外送通知檢測 5、追加貼士BUG修復 6、BBPOS打印提示優化 7、外送獲取訂單列表優化

Signed-off-by: Wyh <1239658231>
parent 2857da0d
......@@ -8,6 +8,8 @@ import android.content.res.Configuration;
import android.os.Build;
import android.os.RemoteException;
import androidx.annotation.NonNull;
import com.billy.cc.core.component.CC;
import com.elvishew.xlog.LogConfiguration;
import com.elvishew.xlog.LogLevel;
......@@ -23,6 +25,7 @@ import com.gingersoft.gsa.cloud.base.BuildConfig;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.FileUtils;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
......@@ -31,6 +34,8 @@ import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.function.FunctionStyleUtils;
import com.hyweb.n5.lib.exception.NoInitPrinterException;
import com.hyweb.n5.lib.util.PrinterUtil;
......@@ -39,9 +44,9 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
import com.scwang.smartrefresh.layout.header.ClassicsHeader;
import java.util.List;
import java.util.Locale;
import androidx.annotation.NonNull;
import me.jessyan.autosize.AutoSize;
import me.jessyan.autosize.AutoSizeConfig;
import me.jessyan.autosize.onAdaptListener;
......@@ -115,9 +120,9 @@ public class GsaCloudApplication extends BaseApplication {
AppCrashHandler.getInstance().init(this);
androidSetting = new FunctionStyleUtils();
isLogin = (boolean) SPUtils.get(this, PrintConstans.IS_LOGIN, false);
initExpandInfo();
// 设定一些通用的属性,这些属性在每次统计事件中都会附带
// 注意:如果此处的属性名与内置属性的名称相同,则内置属性会被覆盖
// Tracker.INSTANCE.addProperty("附加的属性1", "附加的属性1");
......@@ -134,6 +139,16 @@ public class GsaCloudApplication extends BaseApplication {
// Tracker.INSTANCE.initialize(this);
}
private void initExpandInfo() {
new Thread(() -> {
ExpandInfoDaoUtils expandInfoDaoUtils = new ExpandInfoDaoUtils(getAppContext());
List<ExpandInfo> expandInfos = expandInfoDaoUtils.queryAllExpandInfo();
if (expandInfos != null) {
RestaurantExpandInfoUtils.setCommonExpandInfo(expandInfos);
}
}).start();
}
public Activity getCurrentActivity() {
return mCurrentActivity;
}
......@@ -374,40 +389,40 @@ public class GsaCloudApplication extends BaseApplication {
//获取登陆token
public static String getLoginToken(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.token, "");
public static String getLoginToken() {
return (String) SPUtils.get(mAppContext, UserConstans.token, "");
}
public static int getMemberId(Context context) {
return (int) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.memberId, 0);
public static int getMemberId() {
return (int) SPUtils.get(mAppContext, UserConstans.memberId, 0);
}
public static int getBrandId(Context context) {
return (int) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.brandId, 0);
public static int getBrandId() {
return (int) SPUtils.get(mAppContext, UserConstans.brandId, 0);
}
public static String getBrandName(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.brandName, "");
public static String getBrandName() {
return (String) SPUtils.get(mAppContext, UserConstans.brandName, "");
}
public static int getRestaurantId(Context context) {
return (int) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.restaurantId, 0);
public static int getRestaurantId() {
return (int) SPUtils.get(mAppContext, UserConstans.restaurantId, 0);
}
public static String getRestaurantName(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.restaurantName, "");
public static String getRestaurantName() {
return (String) SPUtils.get(mAppContext, UserConstans.restaurantName, "");
}
public static String getMemberName(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.memberName, "");
public static String getMemberName() {
return (String) SPUtils.get(mAppContext, UserConstans.memberName, "");
}
public static String getBrandRestaurantInfos(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.brandRestaurantInfos, "");
public static String getBrandRestaurantInfo() {
return (String) SPUtils.get(mAppContext, UserConstans.brandRestaurantInfos, "");
}
public static String getGsPosShopId(Context context) {
return (String) SPUtils.get(GsaCloudApplication.getAppContext(), UserConstans.gsPosShopId, "-1");
public static String getGsPosShopId() {
return (String) SPUtils.get(mAppContext, UserConstans.gsPosShopId, "-1");
}
public static void logOut() {
......@@ -448,39 +463,39 @@ public class GsaCloudApplication extends BaseApplication {
}
public static void setLoginToken(Context context, String token) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.token, token);
SPUtils.put(mAppContext, UserConstans.token, token);
}
public static void setMemberId(Context context, int memberId) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.memberId, memberId);
SPUtils.put(mAppContext, UserConstans.memberId, memberId);
}
public static void setMemberName(Context context, String memberName) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.memberName, memberName);
SPUtils.put(mAppContext, UserConstans.memberName, memberName);
}
public static void setBrandId(Context context, int restaurantId) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.brandId, restaurantId);
SPUtils.put(mAppContext, UserConstans.brandId, restaurantId);
}
public static void setBrandName(Context context, String restaurantName) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.brandName, restaurantName);
SPUtils.put(mAppContext, UserConstans.brandName, restaurantName);
}
public static void setRestaurantId(Context context, int restaurantId) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.restaurantId, restaurantId);
SPUtils.put(mAppContext, UserConstans.restaurantId, restaurantId);
}
public static void setRestaurantName(Context context, String restaurantName) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.restaurantName, restaurantName);
SPUtils.put(mAppContext, UserConstans.restaurantName, restaurantName);
}
public static void setBrandRestaurantInfos(Context context, String brandRestaurantIds) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.brandRestaurantInfos, brandRestaurantIds);
SPUtils.put(mAppContext, UserConstans.brandRestaurantInfos, brandRestaurantIds);
}
public static void setGsPosShopId(Context context, String gsPosShopId) {
SPUtils.put(GsaCloudApplication.getAppContext(), UserConstans.gsPosShopId, gsPosShopId);
SPUtils.put(mAppContext, UserConstans.gsPosShopId, gsPosShopId);
}
public static void clearMemberInfo() {
......
package com.gingersoft.gsa.cloud.base.utils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 作者:ELEGANT_BIN
......@@ -16,6 +17,7 @@ import java.util.List;
*/
public class RestaurantExpandInfoUtils {
private static Map<String, Object> map = new HashMap<>();
/**
* 保存常用信息
......@@ -24,23 +26,45 @@ public class RestaurantExpandInfoUtils {
*/
public static void setCommonExpandInfo(List<ExpandInfo> expandInfoList) {
for (ExpandInfo expandInfo : expandInfoList) {
if (expandInfo.getSettingName().equals(ExpandConstant.Rounding)) {
MoneyUtil.rounding = expandInfo.getValueInt();
}
if (expandInfo.getSettingName().equals(ExpandConstant.RoundingDecimal)) {
MoneyUtil.RoundingDecimal = expandInfo.getValueInt();
}
if (expandInfo.getSettingName().equals(ExpandConstant.ItemDecimals)) {
MoneyUtil.ItemDecimals = expandInfo.getValueInt();
}
if (expandInfo.getSettingName().equals(ExpandConstant.MergeSendFood)) {
GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1);
}
if (expandInfo.getSettingName().equals(ExpandConstant.AutoPrinterPaper)) {
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1);
switch (expandInfo.getSettingName()) {
case ExpandConstant.Rounding:
MoneyUtil.rounding = expandInfo.getValueInt();
break;
case ExpandConstant.RoundingDecimal:
MoneyUtil.RoundingDecimal = expandInfo.getValueInt();
break;
case ExpandConstant.ItemDecimals:
MoneyUtil.ItemDecimals = expandInfo.getValueInt();
break;
case ExpandConstant.MergeSendFood:
GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1);
break;
case ExpandConstant.AutoPrinterPaper:
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1);
break;
case ExpandConstant.PrintMemberInfo:
case ExpandConstant.PrintPage:
case ExpandConstant.PrintMergerFood:
case ExpandConstant.PrintStatisticsAmount:
case ExpandConstant.PrintFirstOrder:
map.put(expandInfo.getSettingName(), expandInfo.getValueInt() == 0);
break;
case ExpandConstant.OrderReceivingTimeout:
case ExpandConstant.DeliveryPrintCount:
case ExpandConstant.DeliveryClosingPC:
case ExpandConstant.TableModePrintCount:
case ExpandConstant.TableModeClosingPC:
map.put(expandInfo.getSettingName(), expandInfo.getValueInt());
break;
}
}
}
public static <T> T getValue(String name, Object defaultValue) {
if (map != null && map.containsKey(name)) {
return (T) map.get(name);
} else {
return (T) defaultValue;
}
}
}
......@@ -18,8 +18,8 @@ import java.util.List;
*/
public class RestaurantInfoUtils {
public static List<BrandsBean.BrandsData> getBrandList(Context context) {
String brandRestaurantInfos = GsaCloudApplication.getBrandRestaurantInfos(context);
public static List<BrandsBean.BrandsData> getBrandList() {
String brandRestaurantInfos = GsaCloudApplication.getBrandRestaurantInfo();
if (!TextUtils.isEmpty(brandRestaurantInfos)) {
List<BrandsBean.BrandsData> brandsBeans = JsonUtils.parseArray(brandRestaurantInfos, BrandsBean.BrandsData.class);
return brandsBeans;
......@@ -29,7 +29,7 @@ public class RestaurantInfoUtils {
public static int getRestaurantSize(Context context) {
int size = 0;
List<BrandsBean.BrandsData> brandsBeans = getBrandList(context);
List<BrandsBean.BrandsData> brandsBeans = getBrandList();
if (brandsBeans == null) {
return 0;
}
......
......@@ -6,8 +6,6 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import freemarker.template.utility.StringUtil;
public class StringUtils {
......
......@@ -187,7 +187,7 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
List<File> fileList = Arrays.asList(files);
HashMap<String, String> params = new HashMap<>();
params.put("type", "1");
params.put("uid", String.valueOf(GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext())));
params.put("uid", String.valueOf(GsaCloudApplication.getMemberId()));
String url = HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.upload_app_log;
OkHttp3Utils.sendFileMultipart(url, "files", fileList, params)
.subscribeOn(Schedulers.io())
......@@ -253,7 +253,7 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
// 保存文件
long timetamp = System.currentTimeMillis();
String time = format.format(new Date());
String MemberName = GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext());
String MemberName = GsaCloudApplication.getMemberName();
String fileName = "crash-" + MemberName + "-" + time + "-" + timetamp + "-" + DeviceUtils.getVersionName(mContext) + CRASH_REPORTER_EXTENSION;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//外部存储卡
try {
......
......@@ -69,7 +69,7 @@ public class OkHttp3Utils {
@Override
public void onFailure(Call call, IOException e) {
// emitter.onError(e);
emitter.onError(e);
emitter.onComplete();
call.cancel();
}
......@@ -241,8 +241,8 @@ public class OkHttp3Utils {
if (GsaCloudApplication.isLogin) {
String token;
int memberId = GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext());
String loginToken = GsaCloudApplication.getLoginToken(GsaCloudApplication.getAppContext());
int memberId = GsaCloudApplication.getMemberId();
String loginToken = GsaCloudApplication.getLoginToken();
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken);
token = token.replaceAll("\r|\n", "");
builder.set("token", token);
......@@ -262,14 +262,14 @@ public class OkHttp3Utils {
"版本號:" + DeviceUtils.getVersionName(GsaCloudApplication.getAppContext()) + "|" + DeviceUtils.getVersionCode(GsaCloudApplication.getAppContext()) +
"時間:" + TimeUtil.getCurrentDate(TimeUtil.dateFormatYMDHMS) +
"報錯CODE:" + errCode +
"品牌名:" + GsaCloudApplication.getBrandName(GsaCloudApplication.getAppContext()) +
"餐廳名:" + GsaCloudApplication.getRestaurantName(GsaCloudApplication.getAppContext()) +
"餐廳ID:" + GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) +
"登陸人員:" + GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext()) + "|" + GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()) +
"品牌名:" + GsaCloudApplication.getBrandName() +
"餐廳名:" + GsaCloudApplication.getRestaurantName() +
"餐廳ID:" + GsaCloudApplication.getRestaurantId() +
"登陸人員:" + GsaCloudApplication.getMemberName() + "|" + GsaCloudApplication.getMemberId() +
"報錯原因:" + pushContent;
RequestBody requestBody = new FormBody.Builder()
.add("code", errCode)//錯誤碼
.add("shopId", GsaCloudApplication.getGsPosShopId(GsaCloudApplication.getAppContext()))
.add("shopId", GsaCloudApplication.getGsPosShopId())
.add("source", GsaCloudApplication.getAppName() + "")//錯誤來源
.add("pushContent", restaurantInfo)//推送內容
.add("version", DeviceUtils.getVersionName(GsaCloudApplication.getAppContext()))//系統版本
......
......@@ -20,6 +20,7 @@ import android.widget.TextView;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
......@@ -27,6 +28,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.ui.adapter.MultipleChoiceAdapter;
import com.gingersoft.gsa.cloud.ui.view.WheelView;
import java.util.List;
......@@ -267,7 +269,7 @@ public abstract class DialogUtils implements LifecycleObserver {
return (T) view;
}
public ViewHepler setAdapter(int viewId, RecyclerView.LayoutManager layoutManager, RecyclerView.Adapter adapter){
public ViewHepler setAdapter(int viewId, RecyclerView.LayoutManager layoutManager, RecyclerView.Adapter adapter) {
RecyclerView rv = getView(viewId);
rv.setLayoutManager(layoutManager);
rv.setAdapter(adapter);
......@@ -409,5 +411,30 @@ public abstract class DialogUtils implements LifecycleObserver {
.show();
}
public interface onPopupMultipleChoiceSureClickListener {
void onClick(String checkIndex);
}
public static void showMultipleChoicePopop(Context context, List<String> items, String title, List<Integer> defaultSelect, onPopupMultipleChoiceSureClickListener onClickListener) {
new DialogUtils(context, R.layout.dialog_multiple_choice_layout) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
hepler.setText(R.id.tv_title, title);
RecyclerView recyclerView = hepler.getView(R.id.rv_dialog_multiple_choice);
MultipleChoiceAdapter adapter = new MultipleChoiceAdapter(items, defaultSelect);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.setAdapter(adapter);
hepler.getView(R.id.btn_cancel).setOnClickListener(v -> dialog.dismiss());
hepler.getView(R.id.btn_confirm).setOnClickListener(v -> {
dialog.dismiss();
if (onClickListener != null)
onClickListener.onClick(adapter.getChecked());
});
}
}
.setWidth(WindowManager.LayoutParams.MATCH_PARENT)
.setGravity(Gravity.BOTTOM)
.show();
}
}
......@@ -12,8 +12,8 @@ public class ExpandConstant {
public final static String PrintMemberInfo = "PrintMemberInfo";//是否打印會員信息
public final static String PrintPage = "PrintPage";//是否打印頁數
public final static String PrintMergerFood = "PrintMergerFood";//是否合併食品
public final static String PrintStatisticsAmount = "PrintStatisticsAmount";//統計打印數
public final static String PrintFirstOrder = "PrintFirstOrder";//是否打印頭單
public final static String PrintStatisticsAmount = "PrintStatisticsAmount";//是否顯示統計打印數
public final static String PrintFirstOrder = "PrintFirstOrder";//是否打印"頭單"文字
public final static String Rounding = "Rounding";
public final static String RoundingDecimal = "RoundingDecimal";
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.constans;
import com.gingersoft.gsa.cloud.function.FModule;
public class FunctionManagerConstans {
public class FunctionManagerConstants {
public static class takeaway{
......
......@@ -65,7 +65,7 @@ public class PrinterDeviceBean implements Serializable {
private int numberIsFlip;//數量大於1顔色是否翻轉 0預設 1是 2否
private int languageType;
private String languageType;
@Generated(hash = 626885316)
public PrinterDeviceBean() {
......@@ -77,9 +77,9 @@ public class PrinterDeviceBean implements Serializable {
this.paperSpecification = paperSpecification;
}
@Generated(hash = 790857534)
@Generated(hash = 243659502)
public PrinterDeviceBean(Long id, Long dbid, String name, Integer restaurantId, String ip, Long uid, Integer port, Integer type, Long printerModelId, String paperSpecification, int lineFontStop, String printerName, String model, String noteContent, Long printerDeviceDefaultId, int printerDeviceType, Long flyPrinterDeviceId, Long flyPrinterDeviceId2, int foodComplexion, int modifierComplexion, int foodIsBold, String foodFont, int foodIsItalic, int modifierIsBold, String modifierFont,
int modifierIsItalic, int numberIsFlip, int languageType) {
int modifierIsItalic, int numberIsFlip, String languageType) {
this.id = id;
this.dbid = dbid;
this.name = name;
......@@ -333,11 +333,11 @@ public class PrinterDeviceBean implements Serializable {
this.modifierComplexion = modifierComplexion;
}
public int getLanguageType() {
public String getLanguageType() {
return languageType;
}
public void setLanguageType(int languageType) {
public void setLanguageType(String languageType) {
this.languageType = languageType;
}
}
......@@ -51,7 +51,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
public final static Property ModifierFont = new Property(24, String.class, "modifierFont", false, "MODIFIER_FONT");
public final static Property ModifierIsItalic = new Property(25, int.class, "modifierIsItalic", false, "MODIFIER_IS_ITALIC");
public final static Property NumberIsFlip = new Property(26, int.class, "numberIsFlip", false, "NUMBER_IS_FLIP");
public final static Property LanguageType = new Property(27, int.class, "languageType", false, "LANGUAGE_TYPE");
public final static Property LanguageType = new Property(27, String.class, "languageType", false, "LANGUAGE_TYPE");
}
......@@ -94,7 +94,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
"\"MODIFIER_FONT\" TEXT," + // 24: modifierFont
"\"MODIFIER_IS_ITALIC\" INTEGER NOT NULL ," + // 25: modifierIsItalic
"\"NUMBER_IS_FLIP\" INTEGER NOT NULL ," + // 26: numberIsFlip
"\"LANGUAGE_TYPE\" INTEGER NOT NULL );"); // 27: languageType
"\"LANGUAGE_TYPE\" TEXT);"); // 27: languageType
}
/** Drops the underlying database table. */
......@@ -205,7 +205,11 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
}
stmt.bindLong(26, entity.getModifierIsItalic());
stmt.bindLong(27, entity.getNumberIsFlip());
stmt.bindLong(28, entity.getLanguageType());
String languageType = entity.getLanguageType();
if (languageType != null) {
stmt.bindString(28, languageType);
}
}
@Override
......@@ -310,7 +314,11 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
}
stmt.bindLong(26, entity.getModifierIsItalic());
stmt.bindLong(27, entity.getNumberIsFlip());
stmt.bindLong(28, entity.getLanguageType());
String languageType = entity.getLanguageType();
if (languageType != null) {
stmt.bindString(28, languageType);
}
}
@Override
......@@ -348,7 +356,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
cursor.isNull(offset + 24) ? null : cursor.getString(offset + 24), // modifierFont
cursor.getInt(offset + 25), // modifierIsItalic
cursor.getInt(offset + 26), // numberIsFlip
cursor.getInt(offset + 27) // languageType
cursor.isNull(offset + 27) ? null : cursor.getString(offset + 27) // languageType
);
return entity;
}
......@@ -382,7 +390,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
entity.setModifierFont(cursor.isNull(offset + 24) ? null : cursor.getString(offset + 24));
entity.setModifierIsItalic(cursor.getInt(offset + 25));
entity.setNumberIsFlip(cursor.getInt(offset + 26));
entity.setLanguageType(cursor.getInt(offset + 27));
entity.setLanguageType(cursor.isNull(offset + 27) ? null : cursor.getString(offset + 27));
}
@Override
......
......@@ -31,8 +31,8 @@ public class MyGlobalHttpHandler implements GlobalHttpHandler {
String token = "";
if (GsaCloudApplication.isLogin) {
int memberId = GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext());
String loginToken = GsaCloudApplication.getLoginToken(GsaCloudApplication.getAppContext());
int memberId = GsaCloudApplication.getMemberId();
String loginToken = GsaCloudApplication.getLoginToken();
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken);
token = token.replaceAll("\r|\n", "");
}
......
......@@ -15,9 +15,11 @@ import android.os.Build
import android.os.IBinder
import android.os.PowerManager
import android.util.Log
import android.view.WindowManager
import android.widget.RemoteViews
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import com.gingersoft.gsa.cloud.base.R
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.SoundPoolUtils
......@@ -64,7 +66,7 @@ class GetInfoUpdateService : Service() {
}
val restaurantId by lazy {
GsaCloudApplication.getRestaurantId(this)
GsaCloudApplication.getRestaurantId()
}
override fun onBind(intent: Intent?): IBinder? {
......@@ -81,16 +83,6 @@ class GetInfoUpdateService : Service() {
InitSocketThread().start()
isDestroy = false
//讓設備在休眠狀態下保持運行
val pm = getSystemService(Context.POWER_SERVICE) as PowerManager
newWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.javaClass.name)
//Value CPU Screen KeyBoard
//PARTIAL_WAKE_LOCK On Off Off
//SCREEN_DIM_WAKE_LOCK On Dim Off
//SCREEN_BRIGHT_WAKE_LOCK On Bright Off
//FULL_WAKE_LOCK On Bright Bright
newWakeLock?.acquire(10 * 60 * 1000L /*10 minutes*/)
putTimeLog("創建服務onCreate")
}
......
package com.gingersoft.gsa.cloud.ui.adapter;
import android.util.SparseBooleanArray;
import android.widget.CheckBox;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.R;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public class MultipleChoiceAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
private SparseBooleanArray sparseArray;
private List<Integer> defaultChecks;
public MultipleChoiceAdapter(@Nullable List data, List<Integer> defaultChecks) {
super(R.layout.item_multiple_choice_layout, data);
sparseArray = new SparseBooleanArray();
this.defaultChecks = defaultChecks;
}
@Override
protected void convert(@NotNull BaseViewHolder baseViewHolder, String s) {
CheckBox checkBox = baseViewHolder.getView(R.id.cb_dialog_multiply_choice);
baseViewHolder.setText(R.id.tv_dialog_multiply_choice_name, s);
if (defaultChecks.contains(baseViewHolder.getAdapterPosition())) {
checkBox.setChecked(true);
sparseArray.put(baseViewHolder.getAdapterPosition(), true);
} else {
checkBox.setChecked(false);
}
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
sparseArray.put(baseViewHolder.getAdapterPosition(), true);
} else {
sparseArray.delete(baseViewHolder.getAdapterPosition());
}
});
baseViewHolder.itemView.setOnClickListener(v -> checkBox.setChecked(!checkBox.isChecked()));
}
public String getChecked(){
StringBuilder stringBuffer = new StringBuilder();
for (int i = 0; i < sparseArray.size(); i++) {
stringBuffer.append(sparseArray.keyAt(i));
stringBuffer.append(",");
}
return stringBuffer.toString();
}
}
......@@ -60,4 +60,21 @@ public class AppDialog {
void onclick(View view, Dialog dialog);
}
public void showTipDialog(Context context, String title, DialogOnClickListenter sureOnclickListenter) {
new DialogUtils(context, R.layout.dialog_tip) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
if (title != null) {
hepler.setText(R.id.tv_warning_title, title);
}
hepler.getView(R.id.tv_dialog_cancel).setOnClickListener(v -> dialog.dismiss());
hepler.getView(R.id.tv_dialog_confirm).setOnClickListener(v->{
if(sureOnclickListenter != null){
sureOnclickListenter.onclick(v, dialog);
}
});
}
}.show();
}
}
package com.gingersoft.gsa.cloud.ui.utils
import com.gingersoft.gsa.cloud.base.R
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstans
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstants
import com.gingersoft.gsa.cloud.database.bean.Function
class BtnBuilder(var functions: List<Function>) {
......@@ -31,39 +31,39 @@ class BtnBuilder(var functions: List<Function>) {
class BtnBean(val type: Int, var btnContent: String, val btnColor: Int, val btnImg: Int)
fun getSureBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.CONFIRM_BTN_KEY, SureBtn, "確認訂單", R.color.other_order_details_sure_btn_color, R.drawable.ic_sure)
return getBtn(FunctionManagerConstants.takeaway.CONFIRM_BTN_KEY, SureBtn, "確認訂單", R.color.other_order_details_sure_btn_color, R.drawable.ic_sure)
}
fun getProductionCompletedBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.PRODUCTION_COMPLETED_BTN_KEY, ProductionCompletedBtn, "製作完成", R.color.other_order_details_sure_btn_color, R.drawable.ic_sure)
return getBtn(FunctionManagerConstants.takeaway.PRODUCTION_COMPLETED_BTN_KEY, ProductionCompletedBtn, "製作完成", R.color.other_order_details_sure_btn_color, R.drawable.ic_sure)
}
fun getCancelBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.CANCEL_ORDER_BTN_KEY, CancelBtn, "取消訂單", R.color.other_order_details_cancel_btn_color, R.drawable.ic_cancel)
return getBtn(FunctionManagerConstants.takeaway.CANCEL_ORDER_BTN_KEY, CancelBtn, "取消訂單", R.color.other_order_details_cancel_btn_color, R.drawable.ic_cancel)
}
fun getPrintBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.PRINT_ORDER_BTN_KEY, PrintBtn, "打印訂單", R.color.other_order_details_print_btn_color, R.drawable.ic_print)
return getBtn(FunctionManagerConstants.takeaway.PRINT_ORDER_BTN_KEY, PrintBtn, "打印訂單", R.color.other_order_details_print_btn_color, R.drawable.ic_print)
}
fun getLogisticsBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.LOGISTICS_BTN_KEY, LogisticsBtn, "取消物流", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
return getBtn(FunctionManagerConstants.takeaway.LOGISTICS_BTN_KEY, LogisticsBtn, "取消物流", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
}
fun getAssignDeliveryBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.ASSIGNDELIVERY_BTN_KEY, AssignDeliveryBtn, "指派送貨", R.color.other_order_details_sure_btn_color, R.drawable.ic_deliveryman)
return getBtn(FunctionManagerConstants.takeaway.ASSIGNDELIVERY_BTN_KEY, AssignDeliveryBtn, "指派送貨", R.color.other_order_details_sure_btn_color, R.drawable.ic_deliveryman)
}
fun getClosingBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.CLOSING_BTN_KEY, ClosingBtn, "結賬", R.color.other_order_details_cancel_btn_color, R.drawable.ic_closing)
return getBtn(FunctionManagerConstants.takeaway.CLOSING_BTN_KEY, ClosingBtn, "結賬", R.color.other_order_details_cancel_btn_color, R.drawable.ic_closing)
}
fun getTransportationBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.TRANSPORTATION_BTN_KEY, TransportationBtn, "運輸工具", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
return getBtn(FunctionManagerConstants.takeaway.TRANSPORTATION_BTN_KEY, TransportationBtn, "運輸工具", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
}
fun getAdditionalServiceChargeBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.ADDITIONALSERVICECHARGE_BTN_KEY, AdditionalServiceChargeBtn, "追加貼士", R.color.additional_service_charge_btn_color, R.drawable.ic_additional_service_charge)
return getBtn(FunctionManagerConstants.takeaway.ADDITIONALSERVICECHARGE_BTN_KEY, AdditionalServiceChargeBtn, "追加貼士", R.color.additional_service_charge_btn_color, R.drawable.ic_additional_service_charge)
}
private fun getBtn(key: String, btnCode: Int, btnContent: String, btnColor: Int, btnImg: Int): BtnBean? {
......
......@@ -19,22 +19,25 @@ import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
public class WheelView extends ScrollView {
public static final String TAG = WheelView.class.getSimpleName();
private int textSize = 16;
public static class OnWheelViewListener {
public void onSelected(int selectedIndex, String item) {
}
}
private Context context;
// private ScrollView scrollView;
private LinearLayout views;
......@@ -99,8 +102,6 @@ public class WheelView extends ScrollView {
private void init(Context context) {
this.context = context;
// scrollView = ((ScrollView)this.getParent());
// Log.d(TAG, "scrollview: " + scrollView);
Log.d(TAG, "parent: " + this.getParent());
......@@ -184,7 +185,7 @@ public class WheelView extends ScrollView {
int itemHeight = 0;
private TextView createView(String item) {
TextView tv = new TextView(context);
TextView tv = new TextView(getContext());
tv.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
tv.setSingleLine(true);
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
......@@ -313,10 +314,9 @@ public class WheelView extends ScrollView {
int viewWidth;
@Override
public void setBackgroundDrawable(Drawable background) {
public void setBackground(Drawable background) {
if (viewWidth == 0) {
viewWidth = ((Activity) context).getWindowManager().getDefaultDisplay().getWidth();
viewWidth = ((Activity) getContext()).getWindowManager().getDefaultDisplay().getWidth();
Log.d(TAG, "viewWidth: " + viewWidth);
}
......@@ -325,12 +325,11 @@ public class WheelView extends ScrollView {
paint.setColor(Color.parseColor("#83cde6"));
paint.setStrokeWidth(dip2px(1f));
}
background = new Drawable() {
@Override
public void draw(Canvas canvas) {
canvas.drawLine(viewWidth * 1 / 6, obtainSelectedAreaBorder()[0], viewWidth * 5 / 6, obtainSelectedAreaBorder()[0], paint);
canvas.drawLine(viewWidth * 1 / 6, obtainSelectedAreaBorder()[1], viewWidth * 5 / 6, obtainSelectedAreaBorder()[1], paint);
public void draw(@NotNull Canvas canvas) {
canvas.drawLine(viewWidth / 6, obtainSelectedAreaBorder()[0], viewWidth * 5 / 6, obtainSelectedAreaBorder()[0], paint);
canvas.drawLine(viewWidth / 6, obtainSelectedAreaBorder()[1], viewWidth * 5 / 6, obtainSelectedAreaBorder()[1], paint);
}
@Override
......@@ -340,7 +339,6 @@ public class WheelView extends ScrollView {
@Override
public void setColorFilter(ColorFilter cf) {
}
@Override
......@@ -348,10 +346,7 @@ public class WheelView extends ScrollView {
return PixelFormat.UNKNOWN;
}
};
super.setBackgroundDrawable(background);
super.setBackground(background);
}
@Override
......@@ -359,7 +354,7 @@ public class WheelView extends ScrollView {
super.onSizeChanged(w, h, oldw, oldh);
Log.d(TAG, "w: " + w + ", h: " + h + ", oldw: " + oldw + ", oldh: " + oldh);
viewWidth = w;
setBackgroundDrawable(null);
setBackground(null);
}
/**
......@@ -418,7 +413,7 @@ public class WheelView extends ScrollView {
}
private int dip2px(float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
final float scale = getContext().getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/dp_4" />
<solid android:color="@color/theme_color" />
</shape>
\ No newline at end of file
......@@ -4,5 +4,5 @@
<stroke
android:width="@dimen/dp_1"
android:color="@color/black" />
<corners android:radius="@dimen/dp_4" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_top_theme_color"
android:gravity="center"
android:padding="@dimen/dp_10"
android:text="打印機型號"
android:textColor="@color/white"
android:textSize="@dimen/dp_16" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_dialog_multiple_choice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingTop="@dimen/dp_20"
android:paddingRight="@dimen/dp_20"
android:paddingBottom="@dimen/dp_10">
<Button
android:id="@+id/btn_confirm"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_weight="1"
android:background="@drawable/shape_app_btn_small_radius"
android:text="確定"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:background="@drawable/shape_black_border_small_radius"
android:text="取消"
android:textColor="@color/theme_333_color" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -2,51 +2,60 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_top_theme_color"
android:gravity="center"
android:padding="@dimen/dp_10"
android:text="打印機型號"
android:textColor="@color/theme_333_color"
android:textColor="@color/white"
android:textSize="@dimen/dp_16" />
<com.gingersoft.gsa.cloud.ui.view.WheelView
android:id="@+id/wv_model"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingTop="@dimen/dp_10"
android:paddingRight="@dimen/dp_20"
android:paddingBottom="@dimen/dp_10">
<Button
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_weight="1"
android:background="@drawable/shape_black_border"
android:text="取消"
android:textColor="@color/theme_333_color" />
<Button
android:id="@+id/btn_confirm"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:background="@color/theme_color"
android:text="確定"
android:textColor="@color/white" />
android:background="@color/white"
android:orientation="vertical">
<com.gingersoft.gsa.cloud.ui.view.WheelView
android:id="@+id/wv_model"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingTop="@dimen/dp_10"
android:paddingRight="@dimen/dp_20"
android:paddingBottom="@dimen/dp_10">
<Button
android:id="@+id/btn_confirm"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_weight="1"
android:background="@drawable/shape_app_btn_small_radius"
android:text="確定"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:background="@drawable/shape_black_border_small_radius"
android:text="取消"
android:textColor="@color/theme_333_color" />
</LinearLayout>
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shape_white_eight_corners_bg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_30"
android:paddingTop="@dimen/dp_12"
android:paddingRight="@dimen/dp_30"
android:paddingBottom="@dimen/dp_12">
<ImageView
android:layout_width="@dimen/dp_58"
android:layout_height="@dimen/dp_58"
android:src="@drawable/question_prompt" />
<TextView
android:id="@+id/tv_warning_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_22"
android:text="是否暫停接單?"
android:textColor="@color/color_3c"
android:textSize="@dimen/dp_20" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_dialog_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_red_five_radius_bg"
android:paddingLeft="@dimen/dp_28"
android:paddingTop="@dimen/dp_10"
android:paddingRight="@dimen/dp_28"
android:paddingBottom="@dimen/dp_10"
android:text="確定"
android:textColor="@color/white"
android:textSize="@dimen/dp_15" />
<TextView
android:id="@+id/tv_dialog_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_28"
android:background="@drawable/shape_3c_cancel_btn_bg"
android:paddingLeft="@dimen/dp_28"
android:paddingTop="@dimen/dp_10"
android:paddingRight="@dimen/dp_28"
android:paddingBottom="@dimen/dp_10"
android:text="取消"
android:textColor="@color/color_3c"
android:textSize="@dimen/dp_15" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_dialog_multiply_choice_name"
android:layout_width="0dp"
android:layout_height="@dimen/button_height"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingLeft="@dimen/dp_20"
android:text="本機打印"
android:textColor="@color/color_3c"
android:textSize="@dimen/dp_16" />
<CheckBox
android:id="@+id/cb_dialog_multiply_choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
android:paddingRight="@dimen/dp_20" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_eee_dividing_line" />
</LinearLayout>
......@@ -197,7 +197,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:layout_gravity="center_horizontal"
android:text="19"
tools:text="1/2"
android:textSize="@dimen/dp_28" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/layout_print_kitchen_parent"
android:layout_height="match_parent"
android:orientation="vertical"/>
\ No newline at end of file
......@@ -7,7 +7,6 @@
<activity android:name=".mvp.ui.activity.OrderDetailsActivity"/>
<activity android:name=".mvp.ui.activity.SupplementOrderActivity" />
<activity android:name=".mvp.ui.activity.ColdChainMainActivity"/>
<activity android:name=".mvp.ui.activity.HistoryActivity"/>
<!-- arms配置 -->
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
......@@ -22,7 +22,6 @@
android:allowBackup="true"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_android">
<activity android:name=".mvp.ui.activity.HistoryActivity"/>
<activity android:name=".mvp.ui.activity.OrderDetailsActivity" />
<activity android:name=".mvp.ui.activity.SupplementOrderActivity" />
<activity android:name=".mvp.ui.activity.ColdChainMainActivity">
......
package com.gingersoft.coldchain_module.di.component;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.coldchain_module.di.module.HistoryModule;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.coldchain_module.mvp.ui.activity.HistoryActivity;
@ActivityScope
@Component(modules = HistoryModule.class, dependencies = AppComponent.class)
public interface HistoryComponent {
void inject(HistoryActivity activity);
}
\ No newline at end of file
package com.gingersoft.coldchain_module.di.component;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.coldchain_module.di.module.HistoryOrderModule;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.coldchain_module.mvp.ui.fragment.HistoryOrderFragment;
@FragmentScope
@Component(modules = HistoryOrderModule.class, dependencies = AppComponent.class)
public interface HistoryOrderComponent {
void inject(HistoryOrderFragment fragment);
}
\ No newline at end of file
package com.gingersoft.coldchain_module.di.module;
import com.gingersoft.coldchain_module.mvp.contract.HistoryContract;
import com.gingersoft.coldchain_module.mvp.model.HistoryModel;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Module;
import dagger.Provides;
@Module
public class HistoryModule {
private HistoryContract.View view;
/**
* 构建HistoryModule时,将View的实现类传进来,这样就可以提供View的实现类给presenter
*
* @param view
*/
public HistoryModule(HistoryContract.View view) {
this.view = view;
}
@ActivityScope
@Provides
HistoryContract.View provideHistoryView() {
return this.view;
}
@ActivityScope
@Provides
HistoryContract.Model provideHistoryModel(HistoryModel model) {
return model;
}
}
\ No newline at end of file
package com.gingersoft.coldchain_module.di.module;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.coldchain_module.mvp.contract.HistoryOrderContract;
import com.gingersoft.coldchain_module.mvp.model.HistoryOrderModel;
@Module
public class HistoryOrderModule {
private HistoryOrderContract.View view;
/**
* 构建HistoryOrderModule时,将View的实现类传进来,这样就可以提供View的实现类给presenter
*
* @param view
*/
public HistoryOrderModule(HistoryOrderContract.View view) {
this.view = view;
}
@FragmentScope
@Provides
HistoryOrderContract.View provideHistoryOrderView() {
return this.view;
}
@FragmentScope
@Provides
HistoryOrderContract.Model provideHistoryOrderModel(HistoryOrderModel model) {
return model;
}
}
\ No newline at end of file
package com.gingersoft.coldchain_module.mvp.contract;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import io.reactivex.Observable;
import okhttp3.RequestBody;
public interface HistoryContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void loadData();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<String> getHistoryOrderList(RequestBody requestBody);
}
}
package com.gingersoft.coldchain_module.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import io.reactivex.Observable;
import okhttp3.RequestBody;
public interface HistoryOrderContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<String> getHistoryOrderList(RequestBody requestBody);
}
}
package com.gingersoft.coldchain_module.mvp.contract;
import com.gingersoft.coldchain_module.mvp.model.bean.OrderList;
import com.jess.arms.mvp.IView;
import com.gingersoft.coldchain_module.mvp.model.bean.ShipAnyOrdersNewBean;
import com.gingersoft.coldchain_module.mvp.model.bean.UpdateOrderStatusBean;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
......@@ -20,11 +23,22 @@ public interface OrderListContract {
void removeItem(int position);
void loadOrderTotalNum(OrderList.DataBeanX.DataBean bean);
void getOrderDetails(OrderDetails.DataBean dataBean);
void updateOrderStatusSuccess();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<OrderList> getOrderList(RequestBody requestBody);
Observable<OrderDetails> findOrderDetails(RequestBody requestBody);
Observable<ShipAnyOrdersNewBean> thirdDelivery(RequestBody requestBody);
Observable<UpdateOrderStatusBean> updateOrderStatus(RequestBody requestBody);
Observable<String> addPrj(RequestBody requestBody);
}
}
package com.gingersoft.coldchain_module.mvp.model;
import android.app.Application;
import com.gingersoft.coldchain_module.mvp.contract.HistoryContract;
import com.gingersoft.coldchain_module.mvp.model.service.ColdChainService;
import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import okhttp3.RequestBody;
@ActivityScope
public class HistoryModel extends BaseModel implements HistoryContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public HistoryModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public Observable<String> getHistoryOrderList(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(ColdChainService.class).getHistoryOrderList(requestBody);
}
}
\ No newline at end of file
package com.gingersoft.coldchain_module.mvp.model;
import android.app.Application;
import com.gingersoft.coldchain_module.mvp.contract.HistoryOrderContract;
import com.gingersoft.coldchain_module.mvp.model.service.ColdChainService;
import com.google.gson.Gson;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import okhttp3.RequestBody;
@FragmentScope
public class HistoryOrderModel extends BaseModel implements HistoryOrderContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public HistoryOrderModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public Observable<String> getHistoryOrderList(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(ColdChainService.class).getHistoryOrderList(requestBody);
}
}
......@@ -2,18 +2,20 @@ package com.gingersoft.coldchain_module.mvp.model;
import android.app.Application;
import com.gingersoft.coldchain_module.mvp.contract.OrderListContract;
import com.gingersoft.coldchain_module.mvp.model.bean.OrderList;
import com.gingersoft.coldchain_module.mvp.model.bean.ShipAnyOrdersNewBean;
import com.gingersoft.coldchain_module.mvp.model.bean.UpdateOrderStatusBean;
import com.gingersoft.coldchain_module.mvp.model.service.ColdChainService;
import com.gingersoft.coldchain_module.mvp.model.service.OrderDetailService;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.google.gson.Gson;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.coldchain_module.mvp.contract.OrderListContract;
import io.reactivex.Observable;
import okhttp3.RequestBody;
......@@ -38,7 +40,27 @@ public class OrderListModel extends BaseModel implements OrderListContract.Model
}
@Override
public Observable<OrderDetails> findOrderDetails(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderDetailService.class).findOrderDetails(requestBody);
}
@Override
public Observable<OrderList> getOrderList(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(ColdChainService.class).getOrderList(requestBody);
}
@Override
public Observable<ShipAnyOrdersNewBean> thirdDelivery(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderDetailService.class).thirdDelivery(requestBody);
}
@Override
public Observable<UpdateOrderStatusBean> updateOrderStatus(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderDetailService.class).gsUpdateOrderStatus(requestBody);
}
@Override
public Observable<String> addPrj(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderDetailService.class).addPrj(requestBody);
}
}
\ No newline at end of file
......@@ -115,7 +115,7 @@ public class ColdChainMainPresenter extends BasePresenter<ColdChainMainContract.
}
public void getBalance() {
mModel.getBalance(GsaCloudApplication.getBrandId(GsaCloudApplication.getAppContext())+"")
mModel.getBalance(GsaCloudApplication.getBrandId() + "")
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {
})
......
package com.gingersoft.coldchain_module.mvp.presenter;
import android.app.Application;
import com.gingersoft.coldchain_module.mvp.contract.HistoryOrderContract;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.RequestBody;
@FragmentScope
public class HistoryOrderPresenter extends BasePresenter<HistoryOrderContract.Model, HistoryOrderContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public HistoryOrderPresenter(HistoryOrderContract.Model model, HistoryOrderContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
public void getHistoryOrderList(int status, int pageIndex, int pageSize, String phone, String startDate, String endDate, String orderNo) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", GsaCloudApplication.getGsPosShopId(GsaCloudApplication.getAppContext())) //GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) +
.add("status", status + "")
.add("pageIndex", pageIndex + "")
.add("pageSize", pageSize + "")
.add("orderNo", orderNo)
.add("startDate", startDate)
.add("endDate", endDate)
.add("phone", phone)
.build();
mModel.getHistoryOrderList(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("獲取歷史訂單..."))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<String>(mErrorHandler) {
@Override
public void onNext(@NonNull String info) {
if (info != null) {
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
}
});
}
}
package com.gingersoft.coldchain_module.mvp.presenter;
import android.app.Application;
import com.gingersoft.coldchain_module.mvp.contract.HistoryContract;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.RequestBody;
@ActivityScope
public class HistoryPresenter extends BasePresenter<HistoryContract.Model, HistoryContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public HistoryPresenter(HistoryContract.Model model, HistoryContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
public void getHistoryOrderList(int status, int pageIndex, int pageSize, String phone, String startDate, String endDate, String orderNo) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) + "") //GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) +
.add("status", status + "")
.add("pageIndex", pageIndex + "")
.add("pageSize", pageSize + "")
.add("orderNo", orderNo)
.add("startDate", startDate)
.add("endDate", endDate)
.add("phone", phone)
.build();
mModel.getHistoryOrderList(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("獲取歷史訂單..."))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<String>(mErrorHandler) {
@Override
public void onNext(@NonNull String info) {
if (info != null) {
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
}
});
}
}
......@@ -198,10 +198,10 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
//添加PRJ
addPrj(dataBean);
RequestBody requestBody = new FormBody.Builder()
.add("memberId", GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()) + "")
.add("memberId", GsaCloudApplication.getMemberId() + "")
.add("orderId", dataBean.getID() + "")
.add("status", status + "")
.add("", GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext()) + "")
.add("", GsaCloudApplication.getMemberName() + "")
.build();
mModel.updateOrderStatus(requestBody)
.subscribeOn(Schedulers.io())
......@@ -264,7 +264,7 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
}
RequestBody requestBody = new FormBody.Builder()
.add("orderId", dataBean.getID() + "")
.add("restaurantId", GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) + "")
.add("restaurantId", GsaCloudApplication.getRestaurantId() + "")
.add("orderDetailsIds", ids.toString())
.build();
mModel.addPrj(requestBody);
......@@ -367,10 +367,10 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
public void cancelOrder(int orderId) {
RequestBody requestBody = new FormBody.Builder()
.add("memberId", GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()) + "")
.add("memberId", GsaCloudApplication.getMemberId() + "")
.add("orderId", orderId + "")
.add("status", "6")
.add("", GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext()))
.add("", GsaCloudApplication.getMemberName())
.build();
mModel.updateOrderStatus(requestBody)
.subscribeOn(Schedulers.io())
......@@ -406,7 +406,7 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
public void cancelLogistics(int orderId, boolean isCancelOrder) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) +"")
.add("restaurantId", GsaCloudApplication.getRestaurantId() +"")
.add("orderId", orderId + "")
.add("reasonId", "")
.add("reasonDesc", "")
......
......@@ -78,7 +78,7 @@ public class SupplementOrderPresenter extends BasePresenter<SupplementOrderContr
});
}
public void submitOrder(int nowIndex, int allNum, String name, String phone, String address) {
public void submitOrder(int nowIndex, int allNum, String name, String phone, String address) {
RequestBody requestBody = new FormBody.Builder()
.add("order", getOrderJson(name, phone, address))
.add("apiversion", "1")
......@@ -95,10 +95,16 @@ public class SupplementOrderPresenter extends BasePresenter<SupplementOrderContr
@Override
public void onNext(@NonNull SupplementResultBean info) {
if (info != null) {
if(TextUtil.isNotEmptyOrNullOrUndefined(info.getErrorMsg())){
if (TextUtil.isNotEmptyOrNullOrUndefined(info.getErrorMsg())) {
mRootView.showMessage(info.getErrorMsg());
} else {
mRootView.showMessage("補單失敗");
}
if (info.getCode().equals("1")) {
mRootView.submissionComplete();
} else {
mRootView.killMyself();
}
mRootView.submissionComplete();
} else {
mRootView.submissionFail();
}
......@@ -119,11 +125,11 @@ public class SupplementOrderPresenter extends BasePresenter<SupplementOrderContr
JSONObject json;
json = new JSONObject();
try {
json.put("shopId", GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()));
json.put("shopId", GsaCloudApplication.getRestaurantId());
json.put("phone", phone);
json.put("replenishmentType", "1");
json.put("transportationType", "3");
json.put("memberId", GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()));
json.put("memberId", GsaCloudApplication.getMemberId());
// json.put("addressId", );
json.put("addressDetail", address);
// json.put("sendTime", );
......
package com.gingersoft.coldchain_module.mvp.ui.activity;
import android.animation.ValueAnimator;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
......@@ -13,6 +12,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
......@@ -88,7 +88,8 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
EditText etSearch;
@BindView(R2.id.tv_cold_chain_restaurant_state)
TextView tvRestaurantState;
@BindView(R2.id.cb_auto_receiving_orders)
CheckBox autoReceivingOrders;
public void setOrderNum(OrderList.DataBeanX.DataBean bean) {
mTakeAwayPb.setMax(bean.getMaxOrder() == 0 ? 1 : bean.getMaxOrder());
mTakeAwayPb.setProgress(bean.getNum());
......@@ -133,7 +134,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
public void initData(@Nullable Bundle savedInstanceState) {
mPresenter.getBalance();
restaurantId = GsaCloudApplication.getRestaurantId(mContext);
restaurantId = GsaCloudApplication.getRestaurantId();
fragments = new ArrayList<>();
List<String> titles = Arrays.asList("全部", "待確認", "待提交", "派送中");
for (int i = 0; i < titles.size(); i++) {
......@@ -256,8 +257,6 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
}
}
private ValueAnimator colorAnimation;
@Override
public void loadBalance(double price, double bond, boolean isBlink) {
tvBalance.setVisibility(View.VISIBLE);
......@@ -305,22 +304,6 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
}
@Override
protected void onResume() {
super.onResume();
if (colorAnimation != null) {
colorAnimation.resume();
}
}
@Override
protected void onPause() {
super.onPause();
if (colorAnimation != null) {
colorAnimation.pause();
}
}
@Override
protected void onStart() {
super.onStart();
getNumByOrderTypeInvoke("loadNumber");
......@@ -523,5 +506,8 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
return false;
}
public boolean isAutoReceivingOrder(){
return autoReceivingOrders.isChecked();
}
}
package com.gingersoft.coldchain_module.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.coldchain_module.R;
import com.gingersoft.coldchain_module.R2;
import com.gingersoft.coldchain_module.di.component.DaggerHistoryComponent;
import com.gingersoft.coldchain_module.di.module.HistoryModule;
import com.gingersoft.coldchain_module.mvp.contract.HistoryContract;
import com.gingersoft.coldchain_module.mvp.presenter.HistoryPresenter;
import com.gingersoft.coldchain_module.mvp.ui.fragment.HistoryOrderFragment;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.google.android.material.tabs.TabLayout;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
public class HistoryActivity extends BaseFragmentActivity<HistoryPresenter> implements HistoryContract.View {
@BindView(R2.id.tv_start_time)
TextView mTvStartTime;
@BindView(R2.id.tv_end_time)
TextView mTvEndTime;
// @BindView(R2.id.cold_chain_history_order_top_bar)
// QMUITopBar topBar;
@BindView(R2.id.history_tabs)
TabLayout tabLayout;
// @BindView(R2.id.cold_chain_history_refresh_layout)
// SmartRefreshLayout mRefreshLayout;
private HistoryOrderFragment historyFragment;
private int pageIndex;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerHistoryComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.historyModule(new HistoryModule(this))
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_history_order; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
mTvStartTime.setText(TimeUtils.getOldDate(0));
mTvEndTime.setText(TimeUtils.getOldDate(0));
historyFragment = HistoryOrderFragment.newInstance();
// mRefreshLayout.setOnRefreshListener(refreshLayout -> {
// pageIndex = 0;
// getHistoryOrderList();
// });
// mRefreshLayout.setOnLoadMoreListener(refreshLayout -> {
// pageIndex++;
// getHistoryOrderList();
// });
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
pageIndex = 0;
getHistoryOrderList();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
getSupportFragmentManager().beginTransaction().add(R.id.content_layout, historyFragment).commit();
}
public void getHistoryOrderList() {
mPresenter.getHistoryOrderList(tabLayout.getSelectedTabPosition() == 0 ? 4 : 6, pageIndex, 10, "", "", "", "");
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
// topBar.setTitle(R.string.history_order);
// topBar.addLeftImageButton(R.drawable.icon_return, R.id.iv_left_back).setOnClickListener(v -> killMyself());
// topBar.setBackgroundColor(ContextCompat.getColor(mContext, R.color.theme_color));
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
ArmsUtils.makeText(this, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
@Override
public void loadData() {
// historyFragment.
}
}
......@@ -28,7 +28,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstans;
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstants;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
......@@ -133,7 +133,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailsPresenter> im
requestPermissions(null);
mPresenter.findOrderDetails(orderId, isRead);
// mPresenter.download("https://labels.shipany.io/sbx2/325764d7-b2e2-4d8b-9a68-7f4473719f9c/2020-08-27/20200827171831451_SF5805023992121_144ac51b-5370-46db-9e8d-50904e33b1b7.pdf");
List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), FunctionManagerConstans.takeaway.class, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn");
List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), FunctionManagerConstants.takeaway.class, FunctionManagerConstants.takeaway.orderDetails, "orderDetails/btn");
btnBuilder = BtnBuilder.getInstance(functionByResModule);
}
......
......@@ -72,7 +72,7 @@ public class SupplementOrderActivity extends BaseActivity<SupplementOrderPresent
@Override
public void initData(@Nullable Bundle savedInstanceState) {
restaurantId = GsaCloudApplication.getRestaurantId(mContext);
restaurantId = GsaCloudApplication.getRestaurantId();
mPresenter.getNumByOrderType(restaurantId);
......
......@@ -12,6 +12,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.coldchain_module.R;
import com.gingersoft.coldchain_module.mvp.model.bean.OrderList;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import org.jetbrains.annotations.NotNull;
......@@ -33,7 +34,11 @@ public class OrderListAdapter extends BaseQuickAdapter<OrderList.DataBeanX.DataB
protected void convert(@NotNull BaseViewHolder baseViewHolder, OrderList.DataBeanX.DataBean dataBean) {
baseViewHolder.setText(R.id.tv_pay_method, dataBean.getOrderPayType() == 1 ? "貨到付款" : "在線支付");
baseViewHolder.setText(R.id.tv_order_time, TimeUtils.parseTimeRepeat(dataBean.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT));
baseViewHolder.setText(R.id.tv_order_user_name, dataBean.getRECEIVER() + "(" + dataBean.getPHONE() + ")");
if (TextUtil.isEmptyOrNullOrUndefined(dataBean.getRECEIVER())) {
baseViewHolder.setText(R.id.tv_order_user_name, "(" + dataBean.getPHONE() + ")");
} else {
baseViewHolder.setText(R.id.tv_order_user_name, dataBean.getRECEIVER() + "(" + dataBean.getPHONE() + ")");
}
baseViewHolder.setText(R.id.tv_address, "地址:" + dataBean.getADDRESS_DETAIL());
baseViewHolder.setText(R.id.tv_delivery_state, getStatus(dataBean.getCurStat()));
baseViewHolder.setText(R.id.tv_order_amount, "$" + dataBean.getPAY_AMOUNT());
......
package com.gingersoft.coldchain_module.mvp.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.coldchain_module.R;
import com.gingersoft.coldchain_module.R2;
import com.gingersoft.coldchain_module.di.component.DaggerHistoryOrderComponent;
import com.gingersoft.coldchain_module.di.module.HistoryOrderModule;
import com.gingersoft.coldchain_module.mvp.contract.HistoryOrderContract;
import com.gingersoft.coldchain_module.mvp.presenter.HistoryOrderPresenter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderListAdapter;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
public class HistoryOrderFragment extends BaseFragment<HistoryOrderPresenter> implements HistoryOrderContract.View {
@BindView(R2.id.cold_chain_order_list)
RecyclerView mRvOrderList;
OrderListAdapter adapter;
public static HistoryOrderFragment newInstance() {
HistoryOrderFragment fragment = new HistoryOrderFragment();
return fragment;
}
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
DaggerHistoryOrderComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.historyOrderModule(new HistoryOrderModule(this))
.build()
.inject(this);
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main, container, false);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public void setData(@Nullable Object data) {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
public void loadData(){
}
@Override
public void killMyself() {
}
}
......@@ -25,6 +25,7 @@ import com.gingersoft.coldchain_module.mvp.ui.activity.ColdChainMainActivity;
import com.gingersoft.coldchain_module.mvp.ui.activity.OrderDetailsActivity;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderListAdapter;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
......@@ -80,7 +81,7 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
@Override
public void initData(@Nullable Bundle savedInstanceState) {
mRefreshLayout.setPrimaryColorsId(android.R.color.transparent, android.R.color.black);
restaurantId = GsaCloudApplication.getRestaurantId(mContext);
restaurantId = GsaCloudApplication.getRestaurantId();
Bundle arguments = getArguments();
if (arguments != null) {
......@@ -205,6 +206,13 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
} else {
adapter.setList(data);
}
//是否自動接單
if (getActivity() instanceof ColdChainMainActivity && ((ColdChainMainActivity) getActivity()).isAutoReceivingOrder()) {
//如果第一個單都不是 "未確認" 訂單,那麼下面的單也不可能是,根據訂單狀態排序的。
if (data.size() > 0 && (data.get(0).getSTATUS() == 0 || data.get(0).getSTATUS() == 1)) {
mPresenter.findOrderDetails(data.get(0).getId());
}
}
} else {
layoutNoData.setVisibility(View.VISIBLE);
mRvOrderList.setVisibility(View.GONE);
......@@ -213,7 +221,7 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
@Override
public void notifyByPosition(int position, OrderList.DataBeanX.DataBean dataBean) {
if(adapter != null){
if (adapter != null) {
adapter.setData(position, dataBean);
notifyActivityOrderNum();
}
......@@ -221,7 +229,7 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
@Override
public void removeItem(int position) {
if(adapter != null){
if (adapter != null) {
adapter.removeAt(position);
notifyActivityOrderNum();
}
......@@ -229,16 +237,31 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
@Override
public void loadOrderTotalNum(OrderList.DataBeanX.DataBean bean) {
if(_mActivity instanceof ColdChainMainActivity && bean != null){
if(status.equals(((ColdChainMainActivity) _mActivity).getStatus().get(0))){
((ColdChainMainActivity) _mActivity).setOrderNum(bean);
if (getActivity() instanceof ColdChainMainActivity && bean != null) {
if (status.equals(((ColdChainMainActivity) getActivity()).getStatus().get(0))) {
((ColdChainMainActivity) getActivity()).setOrderNum(bean);
}
}
}
@Override
public void getOrderDetails(OrderDetails.DataBean dataBean) {
if (getActivity() instanceof ColdChainMainActivity && ((ColdChainMainActivity) getActivity()).isAutoReceivingOrder()) {
if (dataBean.getOrderStatus() == 0 || dataBean.getOrderStatus() == 1) {
mPresenter.thirdDelivery(dataBean);
}
}
}
private void notifyActivityOrderNum(){
if(_mActivity instanceof ColdChainMainActivity){
((ColdChainMainActivity) _mActivity).getNumByOrderTypeInvoke("loadNumber");
@Override
public void updateOrderStatusSuccess() {
//修改訂單狀態之後,刷新列表
onRefreshData();
}
private void notifyActivityOrderNum() {
if (getActivity() instanceof ColdChainMainActivity) {
((ColdChainMainActivity) getActivity()).getNumByOrderTypeInvoke("loadNumber");
}
}
......
......@@ -162,7 +162,7 @@
android:background="@drawable/shape_restaurant_state_bg"
android:text="營業中 "
app:layout_constraintBottom_toBottomOf="@id/ed_cold_chain_order_num_search"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintRight_toLeftOf="@id/cb_auto_receiving_orders"
app:layout_constraintTop_toTopOf="@id/ed_cold_chain_order_num_search" />
<ImageView
......@@ -175,7 +175,17 @@
app:layout_constraintRight_toRightOf="@id/tv_cold_chain_restaurant_state"
app:layout_constraintTop_toTopOf="@id/tv_cold_chain_restaurant_state" />
</androidx.constraintlayout.widget.ConstraintLayout>
<CheckBox
android:id="@+id/cb_auto_receiving_orders"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/color_a9"
android:text="自動接單"
android:textColor="@color/color_a9"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_cold_chain_restaurant_state" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_balance"
......
......@@ -115,7 +115,8 @@ class CoolWeatherNetwork {
val body = response.body()
if (body != null) {
continuation.resume(body)
} else continuation.resumeWithException(RuntimeException("response body is null") as Throwable)
} else
continuation.resumeWithException(RuntimeException("response body is null") as Throwable)
}
})
}
......
......@@ -109,7 +109,6 @@ object ServiceCreator {
* 添加请求头
*/
class UserAgentIntercepter : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val request = chain.request()
val headers = request.headers()
......@@ -127,8 +126,8 @@ object ServiceCreator {
if (GsaCloudApplication.isLogin) {
var token: String
val memberId = GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext())
val loginToken = GsaCloudApplication.getLoginToken(GsaCloudApplication.getAppContext())
val memberId = GsaCloudApplication.getMemberId()
val loginToken = GsaCloudApplication.getLoginToken()
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken)
token = token.replace("\r|\n".toRegex(), "")
builder.set("token", token)
......
......@@ -34,7 +34,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
} else {
orderNumber = orderNum
}
historyOrderRepository.getHistoryOrderList(GsaCloudApplication.getRestaurantId(context).toString(), status, startDate, endDate, pageIndex, "10", orderType, orderNumber, phone).apply {
historyOrderRepository.getHistoryOrderList(GsaCloudApplication.getRestaurantId().toString(), status, startDate, endDate, pageIndex, "10", orderType, orderNumber, phone).apply {
this.data?.let {
if (it.size > 0) {
it.removeAt(it.size - 1)//移除最後一個,最後一個是顯示總條數的
......
......@@ -62,8 +62,8 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
var balanceBean = MutableLiveData<BalanceBean>()
//刷新狀態,有數據更新就會更改這個變量,將這個變量修改為allOrderStatus...上面五種狀態,fragment中監聽這個變量,再調用接口獲取最新數據
var refreshState = MutableLiveData<Int>()
//刷新狀態,值為當前頁面的下標
var refreshState = MutableLiveData(0)
//訂單號
var orderNo: String = ""
//手機號
......@@ -73,7 +73,6 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
//接單超時時間
var timeOut = 0
var selectPosition = 0//當前選中的頁面頁卡
var appointmentType = MutableLiveData(0) //0為即時單,1為預約單
var instantOrderNum = MutableLiveData(0) //即時單單數
var bookingOrderNum = MutableLiveData(0) //預約單單數
......@@ -665,7 +664,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
*/
fun selectorDelivery(context: Context, dataBean: OrderDetails.DataBean, status: Int, listener: (Int, Boolean) -> Unit) {
launch({
repository.getDeliveryInfo(GsaCloudApplication.getRestaurantId(context).toString(), GsaCloudApplication.getMemberId(context).toString()).apply {
repository.getDeliveryInfo(GsaCloudApplication.getRestaurantId().toString(), GsaCloudApplication.getMemberId().toString()).apply {
deliveryBean = this
if (this.data.isEmpty()) {
ToastUtils.show(context, "沒有配置配送員信息")
......
......@@ -60,7 +60,7 @@
// }
//
// val restaurantId by lazy {
// GsaCloudApplication.getRestaurantId(this)
// GsaCloudApplication.getRestaurantId()
// }
//
// override fun onBind(intent: Intent?): IBinder? {
......
......@@ -21,7 +21,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstans
import com.gingersoft.gsa.cloud.constans.FunctionManagerConstants
import com.gingersoft.gsa.cloud.function.FunctionManager
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.cloud.ui.utils.AppDialog
......@@ -43,6 +43,7 @@ import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.OrderDetailsAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.ThirdExpensesAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.util.getmColor
import com.gingersoft.gsa.delivery_pick_mode.util.showSelectDialog
import com.gingersoft.gsa.delivery_pick_mode.util.showWaringDialog
import com.qmuiteam.qmui.widget.QMUITopBar
......@@ -73,7 +74,7 @@ class OrderDetailsActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_order_details)
val functionByResModule = FunctionManager.getDefault().getFunctionByResModule(this, FunctionManagerConstans.takeaway::class.java, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn")
val functionByResModule = FunctionManager.getDefault().getFunctionByResModule(this, FunctionManagerConstants.takeaway::class.java, FunctionManagerConstants.takeaway.orderDetails, "orderDetails/btn")
btnBuilder = BtnBuilder.getInstance(functionByResModule)
val rootView = findViewById<View>(R.id.scroll_order_info)
......@@ -88,7 +89,7 @@ class OrderDetailsActivity : BaseActivity() {
.color(R.color.white)
.show()
restaurantId = GsaCloudApplication.getRestaurantId(this)
restaurantId = GsaCloudApplication.getRestaurantId()
orderId = intent.getStringExtra("orderId")//訂單id
orderType = intent.getIntExtra("orderType", 0)//訂單類型
orderPayType = intent.getIntExtra("orderPayType", 0)//訂單支付方式
......@@ -109,7 +110,7 @@ class OrderDetailsActivity : BaseActivity() {
}
private fun initTopBar(topbar: QMUITopBar) {
topbar.setTitle(GsaCloudApplication.getRestaurantName(this@OrderDetailsActivity))
topbar.setTitle(GsaCloudApplication.getRestaurantName())
topbar.addLeftImageButton(R.drawable.icon_return, R.id.iv_left_back).setOnClickListener { finish() }
topbar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color))
}
......@@ -168,7 +169,7 @@ class OrderDetailsActivity : BaseActivity() {
btnBuilder.getLogisticsBtn()?.let {
btnList.add(it)
}
if (isTimeOut) {
if (isTimeOut && orderDetails.companyType == 2) {
//已超時,添加追加貼士的按鈕
btnBuilder.getAdditionalServiceChargeBtn()?.let {
btnList.add(it)
......@@ -218,7 +219,7 @@ class OrderDetailsActivity : BaseActivity() {
}
}
orderStatusText = "派送中"
tv_order_state.setTextColor(resources.getColor(R.color.order_state2_color))
tv_order_state.setTextColor(getmColor(R.color.order_state2_color))
}
}
8 -> {//預約單
......@@ -462,7 +463,7 @@ class OrderDetailsActivity : BaseActivity() {
private fun additionalServiceCharge(amount: Int) {
showLoading()
pageViewModel.additionalServiceCharge(GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()).toString(), orderId, amount)
pageViewModel.additionalServiceCharge(GsaCloudApplication.getMemberId().toString(), orderId, amount)
}
private fun PageViewModel.selectLalaMove(orderDetails: OrderDetails.DataBean, isPrint: Boolean, black: (it: List<TransportationBean.DataX.Transportation>, orderDetails: OrderDetails.DataBean) -> Unit) {
......@@ -510,7 +511,7 @@ class OrderDetailsActivity : BaseActivity() {
private fun PageViewModel.showSelectTransportation(transportationBeans: List<TransportationBean.DataX.Transportation>, orderDetails: OrderDetails.DataBean, isPrint: Boolean) {
//獲取實際金額
showLoading()
getActualAmount(orderId, GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()), restaurantId) { it ->
getActualAmount(orderId, GsaCloudApplication.getMemberId(), restaurantId) { it ->
cancelDialogForLoading()
it?.let { transportAmountBean ->
transportAmountBean.data.let { transportData ->
......@@ -596,7 +597,7 @@ class OrderDetailsActivity : BaseActivity() {
private fun PageViewModel.cancelOrder(orderDetails: OrderDetails.DataBean) {
//獲取取消原因讓用戶選擇
showLoading()
getCancelReason(GsaCloudApplication.getBrandId(GsaCloudApplication.getAppContext()), restaurantId, 3) { cancelReson ->
getCancelReason(GsaCloudApplication.getBrandId(), restaurantId, 3) { cancelReson ->
cancelDialogForLoading()
if (cancelReson != null && cancelReson.data.isNotEmpty()) {
//如果有配置取消原因
......@@ -621,7 +622,7 @@ class OrderDetailsActivity : BaseActivity() {
if (orderDetails.isDelete == 0) {
//是第三方物流單,先取消物流,再取消訂單
cancelLogistics(restaurantId, orderId, reasonId, reasonDesc) {
cancelOrder(GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()).toString(), GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext()), orderId, reasonId, reasonDesc) {
cancelOrder(GsaCloudApplication.getMemberId().toString(), GsaCloudApplication.getMemberName(), orderId, reasonId, reasonDesc) {
cancelDialogForLoading()
if (it) {
finish()
......@@ -633,7 +634,7 @@ class OrderDetailsActivity : BaseActivity() {
}
} else {
//取消訂單
cancelOrder(GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext()).toString(), GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext()), orderId, reasonId, reasonDesc) {
cancelOrder(GsaCloudApplication.getMemberId().toString(), GsaCloudApplication.getMemberName(), orderId, reasonId, reasonDesc) {
cancelDialogForLoading()
if (it) {
finish()
......@@ -654,7 +655,7 @@ class OrderDetailsActivity : BaseActivity() {
private fun PageViewModel.cancelLogistics(orderDetails: OrderDetails.DataBean) {
//獲取取消原因讓用戶選擇
showLoading()
getCancelReason(GsaCloudApplication.getBrandId(GsaCloudApplication.getAppContext()), restaurantId, 2) { cancelReson ->
getCancelReason(GsaCloudApplication.getBrandId(), restaurantId, 2) { cancelReson ->
cancelDialogForLoading()
if (cancelReson != null && cancelReson.data.isNotEmpty()) {
//如果有配置取消原因
......
......@@ -58,7 +58,7 @@ class PayActivity : BaseActivity() {
}
other_pay_view.loadInfo(this, ArrayList<PayMethod>(), MoneyUtil.sub(orderDetails.TOTAL_AMOUNT!!.toDouble(), orderDetails.discount_amount), foodCount)
pageViewModel.getPayMethod(GsaCloudApplication.getBrandId(GsaCloudApplication.getAppContext()), GsaCloudApplication.getRestaurantId(this))
pageViewModel.getPayMethod(GsaCloudApplication.getBrandId(), GsaCloudApplication.getRestaurantId())
pageViewModel.payTypeBean.observe(this, Observer {
//獲取支付方式
// other_pay_view.loadInfo(this, PayTypeInfo.getPayMethodByPayType(it), MoneyUtil.sub(orderDetails.TOTAL_AMOUNT!!.toDouble(), orderDetails.discount_amount), foodCount)
......
......@@ -57,7 +57,7 @@ class DeliveryFragment : BaseFragment() {
AppDialog().showWaringDialog(context, "是否確認刪除") { _, dialog ->
showLoading()
it.data.list[position].apply {
viewModel.updateDeliveryConfig(distributionFeeMin.toString(), distributionFeeMax.toString(), distributionFee.toString(), deliveryCost.toString(), distributionType, type, desc, id, GsaCloudApplication.getRestaurantId(context), GsaCloudApplication.getMemberId(context), lackPrice.toString(), 1) {
viewModel.updateDeliveryConfig(distributionFeeMin.toString(), distributionFeeMax.toString(), distributionFee.toString(), deliveryCost.toString(), distributionType, type, desc, id, GsaCloudApplication.getRestaurantId(), GsaCloudApplication.getMemberId(), lackPrice.toString(), 1) {
dialog.dismiss()
cancelDialogForLoading()
}
......@@ -75,7 +75,7 @@ class DeliveryFragment : BaseFragment() {
}
})
viewModel.queryDeliveryList(GsaCloudApplication.getRestaurantId(activity!!).toString())
viewModel.queryDeliveryList(GsaCloudApplication.getRestaurantId().toString())
}
}
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
......@@ -26,8 +27,8 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
private val pageViewModel by lazy { ViewModelProvider(activity?.viewModelStore!!, InjectorUtil.getWeatherModelFactory())[PageViewModel::class.java] }
private var page = 1
private val restaurantId by lazy { GsaCloudApplication.getRestaurantId(activity) }
private val memberId by lazy { GsaCloudApplication.getMemberId(activity) }
private val restaurantId by lazy { GsaCloudApplication.getRestaurantId() }
private val memberId by lazy { GsaCloudApplication.getMemberId() }
private lateinit var adapter: OtherOrdersAdapter
private var position = 0
......@@ -37,6 +38,7 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
pageViewModel.apply {
// 綁定狀態,如果這個值發生變化
refreshState.observe(viewLifecycleOwner, Observer {
Log.e("CSDN_LQR0", "頁面pageindex$it" + "當前頁面$position")
if (position == it) {
page = 1
getOrderList(false)
......@@ -78,7 +80,6 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
appointmentType.observe(viewLifecycleOwner, Observer {
if (position <= 1) {
//判斷小於1是因為只有 前兩個狀態才有預約單
showLoading("獲取數據中...")
refresh()
}
})
......@@ -143,19 +144,24 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
private fun refresh() {
page = 1
pageViewModel.orderNo = ""
pageViewModel.phone = ""
getOrderList(false)
Log.e("eee", "$position -----" + pageViewModel.refreshState.value)
if (position == pageViewModel.refreshState.value) {
showLoading("獲取數據中...")
page = 1
pageViewModel.orderNo = ""
pageViewModel.phone = ""
getOrderList(false)
}
}
private fun getOrderList(isLoadMore: Boolean) {
pageViewModel.getOrderList(GsaCloudApplication.getRestaurantId(activity).toString(), arguments?.getInt(INDEX)
pageViewModel.getOrderList(restaurantId.toString(), arguments?.getInt(INDEX)
?: 0, page.toString(), isLoadMore)
}
companion object {
private const val INDEX = "index"
@JvmStatic
fun newInstance(position: Int): PlaceholderFragment {
return PlaceholderFragment().apply {
......
......@@ -111,7 +111,7 @@ class UpdateDeliveryFragment : BaseFragment(R.layout.update_delivery_fragment) {
if (deliveryConfig == null) {
//新增
viewModel.addDeliveryConfig(et_min_delivery_fee.text.toString(), et_max_delivery_fee.text.toString(), ed_delivery_fee.text.toString(), ed_start_delivery_fee.text.toString(), selectDeliveryType, selectDeliveryMethodPosition,
ed_desc.text.toString(), GsaCloudApplication.getRestaurantId(context), GsaCloudApplication.getMemberId(context), ed_difference_fee.text.toString()) {
ed_desc.text.toString(), GsaCloudApplication.getRestaurantId(), GsaCloudApplication.getMemberId(), ed_difference_fee.text.toString()) {
cancelDialogForLoading()
if (it != null && it.success) {
ToastUtils.show(context, "保存成功")
......@@ -123,7 +123,7 @@ class UpdateDeliveryFragment : BaseFragment(R.layout.update_delivery_fragment) {
} else {
//編輯
viewModel.updateDeliveryConfig(et_min_delivery_fee.text.toString(), et_max_delivery_fee.text.toString(), ed_delivery_fee.text.toString(), ed_start_delivery_fee.text.toString(), selectDeliveryType, selectDeliveryMethodPosition,
ed_desc.text.toString(), deliveryConfig!!.id, GsaCloudApplication.getRestaurantId(context), GsaCloudApplication.getMemberId(context), ed_difference_fee.text.toString(), 0) {
ed_desc.text.toString(), deliveryConfig!!.id, GsaCloudApplication.getRestaurantId(), GsaCloudApplication.getMemberId(), ed_difference_fee.text.toString(), 0) {
cancelDialogForLoading()
if (it != null && it.success) {
ToastUtils.show(context, "修改成功")
......
......@@ -12,7 +12,6 @@ import com.gingersoft.gsa.delivery_pick_mode.model.factory.WeatherModelFactory
object InjectorUtil {
fun getWeatherModelFactory() = WeatherModelFactory(getWeatherRepository())
private fun getWeatherRepository() = WeatherRepository.getInstance(CoolWeatherNetwork.getInstance())
......
......@@ -15,6 +15,7 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:background="@color/color_f0"
tools:context=".ui.activity.DeliveryOrderMainActivity">
......
......@@ -150,7 +150,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
setDownAverageRatio();
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
List<DownloadRequest> requests = getDownloadRequests(getDownloadUrls(restaurantId), restaurantId);
......@@ -273,7 +273,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
// List<Function> functions = getFunctions();
long userId = GsaCloudApplication.getMemberId(mApplication);
long userId = GsaCloudApplication.getMemberId();
mModel.downFunctionList(userId)
.subscribeOn(Schedulers.io())
......@@ -322,7 +322,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downFoodList(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downFoodList(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -370,7 +370,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downModifier(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downModifier(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -419,7 +419,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downFoodCombo(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downFoodCombo(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -469,7 +469,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downComboItem(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downComboItem(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -517,7 +517,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downFoodModifier(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downFoodModifier(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -565,7 +565,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downDiscount(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downDiscount(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -616,7 +616,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downExpandInfo(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downExpandInfo(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -666,7 +666,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
public void downPrinterList(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.downPrinterList(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
......
......@@ -18,7 +18,6 @@ android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
GROUP=com.qmuiteam
QMUI_VERSION=2.0.0-alpha05
QMUI_ARCH_VERSION=2.0.0-alpha05
......@@ -26,5 +25,5 @@ QMUI_LINT_VERSION = 1.1.0
QMUI_SKIN_MAKER_VERSION = 0.0.1
POM_GIT_URL=https://github.com/Tencent/QMUI_Android/
POM_SITE_URL=https://qmuiteam.com/android
#android.injected.testOnly=false
android.injected.testOnly=false
package com.gingersoft.cloud.gsa.component.order.list;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.gingersoft.cloud.gsa.component.order.list", appContext.getPackageName());
}
}
......@@ -49,7 +49,7 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
boolean autoLogin = (boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false);
if (autoLogin && GsaCloudApplication.isLogin) {
int restaurantId = GsaCloudApplication.getRestaurantId(this);
int restaurantId = GsaCloudApplication.getRestaurantId();
if (restaurantId != 0) {
//上一次進入app有選擇餐廳,通過餐廳ID獲取允許的最大登陸數
mPresenter.getLoginLimit(restaurantId, false);
......@@ -90,7 +90,7 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
// mPresenter.getRestaurantList();
boolean autoLogin = (boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false);
if (autoLogin) {
int restaurantId = GsaCloudApplication.getRestaurantId(this);
int restaurantId = GsaCloudApplication.getRestaurantId();
if (restaurantId != 0) {
//上一次進入app有選擇餐廳,通過餐廳ID獲取允許的最大登陸數
// mPresenter.getLoginLimit(restaurantId, false);
......
......@@ -176,7 +176,7 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
}
// boolean autoLogin = (boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false);
// if (autoLogin) {
// int restaurantId = GsaCloudApplication.getRestaurantId(this);
// int restaurantId = GsaCloudApplication.getRestaurantId();
// if (restaurantId != 0) {
// //上一次進入app有選擇餐廳,通過餐廳ID獲取允許的最大登陸數
//// mPresenter.getLoginLimit(restaurantId, false);
......
......@@ -99,7 +99,7 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
showGuide();
} else {
if ((boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false) && GsaCloudApplication.isLogin
&& GsaCloudApplication.getRestaurantId(mContext) != 0) {
&& GsaCloudApplication.getRestaurantId() != 0) {
//自動登陸
String pwd = Aes.aesDecrypt((String) SPUtils.get(mContext, UserConstans.LOGIN_PASSWORD, ""));
mPresenter.login(SPUtils.get(mContext, UserConstans.LOGIN_USERNAME, "") + "", pwd);
......
package com.gingersoft.cloud.gsa.component.order.list;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
\ No newline at end of file
package com.gingersoft.cloud.gsa;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.gingersoft.cloud.gsa", appContext.getPackageName());
}
}
......@@ -10,33 +10,40 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
public class ComponentMain implements IComponent {
public static final class main{
/**首頁- 點餐*/
public static final class main {
/**
* 首頁- 點餐
*/
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),
new FModule("main/order/coldChain", R.drawable.ic_cold_chain,R.drawable.ic_pre_order_mode_close),
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),
new FModule("main/order/coldChain", R.drawable.ic_cold_chain, R.drawable.ic_pre_order_mode_close),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager", 0,0) ,
new FModule("main/manager/takeaway", R.drawable.ic_meals_menu_management, R.drawable.ic_meals_menu_management_close) ,
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[] manager = {
new FModule("main/manager", 0, 0),
new FModule("main/manager/takeaway", R.drawable.ic_meals_menu_management, R.drawable.ic_meals_menu_management_close),
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),
new FModule("main/manager/qrCode", 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)
/**
* 首頁- 員工管理
*/
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)
};
}
......@@ -52,9 +59,10 @@ public class ComponentMain implements IComponent {
* 组件被调用时的入口
* 要确保每个逻辑分支都会调用到CC.sendCCResult,
* 包括try-catch,if-else,switch-case-default,startActivity
*
* @param cc 组件调用对象,可从此对象中获取相关信息
* @return true:将异步调用CC.sendCCResult(...),用于异步实现相关功能,例如:文件加载、网络请求等
* false:会同步调用CC.sendCCResult(...),即在onCall方法return之前调用,否则将被视为不合法的实现
* false:会同步调用CC.sendCCResult(...),即在onCall方法return之前调用,否则将被视为不合法的实现
*/
@Override
public boolean onCall(CC cc) {
......@@ -103,7 +111,7 @@ public class ComponentMain implements IComponent {
}
private void openActivity(CC cc) {
Intent intent = new Intent(cc.getContext(),NewMainActivity.class);
Intent intent = new Intent(cc.getContext(), NewMainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cc.getContext().startActivity(intent);
// CCUtil.createNavigateIntent(cc, MainActivity.class);
......
......@@ -146,7 +146,7 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
public void clearHeartbeat(){
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", GsaCloudApplication.getRestaurantId(mApplication) + "")
.add("restaurantId", GsaCloudApplication.getRestaurantId() + "")
.build();
//關閉心跳
......
......@@ -46,7 +46,7 @@ public class QrCodePresenter extends BasePresenter<QrCodeContract.Model, QrCodeC
}
public void getRestaurantQrCode() {
mModel.getRestaurantQrCode(GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) + "")
mModel.getRestaurantQrCode(GsaCloudApplication.getRestaurantId() + "")
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("加載中..."))
.subscribeOn(AndroidSchedulers.mainThread())
......
......@@ -59,7 +59,7 @@ public class SettlementPresenter extends BasePresenter<SettlementContract.Model,
}
public void getSettlementReport() {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.getSettlementReport(restaurantId)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......
......@@ -23,8 +23,6 @@ import com.jess.arms.utils.RxLifecycleUtils;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
......@@ -32,7 +30,6 @@ import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
......@@ -115,7 +112,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
}
public void sendSettlement(int type) {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
int restaurantId = GsaCloudApplication.getRestaurantId();
RequestBody requestBody;
if (type != 0) {
requestBody = new FormBody.Builder()
......@@ -212,7 +209,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
}
public void getSettlementReport() {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
int restaurantId = GsaCloudApplication.getRestaurantId();
mModel.getSettlementReport(restaurantId)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......
......@@ -4,34 +4,30 @@ import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerLanguageComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.LanguageType;
import com.gingersoft.gsa.cloud.main.mvp.presenter.LanguagePresenter;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.LanguageAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.di.component.DaggerLanguageComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.LanguagePresenter;
import com.gingersoft.gsa.cloud.main.R;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -90,7 +86,7 @@ public class LanguageActivity extends BaseActivity<LanguagePresenter> implements
initAdapter();
initItemListener();
mPresenter.getLanguageByBrandId(GsaCloudApplication.getBrandId(this));
mPresenter.getLanguageByBrandId(GsaCloudApplication.getBrandId());
}
private void initAdapter() {
......@@ -101,12 +97,7 @@ public class LanguageActivity extends BaseActivity<LanguagePresenter> implements
}
private void initItemListener() {
mLanguageAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
mPresenter.getByLanguageId(mLanguageTypeList, position, systemType, adapter);
}
});
mLanguageAdapter.setOnItemClickListener((OnItemClickListener) (adapter, view, position) -> mPresenter.getByLanguageId(mLanguageTypeList, position, systemType, adapter));
}
@Override
......
......@@ -21,7 +21,7 @@ class LookLogActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_look_log)
log_top_bar.setTitle(GsaCloudApplication.getRestaurantName(this))
log_top_bar.setTitle(GsaCloudApplication.getRestaurantName())
log_top_bar.addLeftImageButton(R.drawable.icon_return, R.id.iv_left_back).setOnClickListener { onBackPressed() }
log_top_bar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color))
......
......@@ -148,7 +148,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
FragmentManager fragmentManager = getSupportFragmentManager();
mainTopFragment = (MainTopFragment) fragmentManager.findFragmentById(R.id.main_top_fragment);
tvStoreName.setText(GsaCloudApplication.getRestaurantName(mContext));
tvStoreName.setText(GsaCloudApplication.getRestaurantName());
refresh.setOnRefreshListener(refreshLayout -> {
if (mainTopFragment != null) {
Message msg = new Message();
......@@ -192,7 +192,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override
protected void onRestart() {
super.onRestart();
String restaurantName = GsaCloudApplication.getRestaurantName(mContext);
String restaurantName = GsaCloudApplication.getRestaurantName();
tvStoreName.setText(restaurantName);
tvRestaurantName.setText(restaurantName);
}
......@@ -231,8 +231,8 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
break;
case "複製Token":
String token;
int memberId = GsaCloudApplication.getMemberId(GsaCloudApplication.getAppContext());
String loginToken = GsaCloudApplication.getLoginToken(GsaCloudApplication.getAppContext());
int memberId = GsaCloudApplication.getMemberId();
String loginToken = GsaCloudApplication.getLoginToken();
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken);
token = token.replaceAll("\r|\n", "");
......@@ -411,8 +411,8 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
}
private void updateTitleInfo() {
String restaurantName = GsaCloudApplication.getRestaurantName(this);
String memberName = GsaCloudApplication.getMemberName(this);
String restaurantName = GsaCloudApplication.getRestaurantName();
String memberName = GsaCloudApplication.getMemberName();
if (!TextUtils.isEmpty(restaurantName)) {
if (RestaurantInfoUtils.getRestaurantSize(this) > 1) {
//顯示下拉圖標
......@@ -429,7 +429,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
}
private void showChooseRestaurantDialog() {
String brandRestaurantInfos = GsaCloudApplication.getBrandRestaurantInfos(this);
String brandRestaurantInfos = GsaCloudApplication.getBrandRestaurantInfo();
if (!TextUtils.isEmpty(brandRestaurantInfos)) {
List<BrandsBean.BrandsData> brandsBeans = JsonUtils.parseArray(brandRestaurantInfos, BrandsBean.BrandsData.class);
if (brandsBeans != null && brandsBeans.size() > 0) {
......
package com.gingersoft.gsa.cloud.main.mvp.ui.activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
......@@ -243,8 +237,8 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
@Override
public void initLanguage() {
String brandName = "品牌名稱: " + GsaCloudApplication.getBrandName(this);
String restaurantName = "店鋪名稱: " + GsaCloudApplication.getRestaurantName(this);
String brandName = "品牌名稱: " + GsaCloudApplication.getBrandName();
String restaurantName = "店鋪名稱: " + GsaCloudApplication.getRestaurantName();
tv_restaurant_name.setText(brandName + "\n" + restaurantName);
}
......@@ -565,7 +559,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
}
/**報表完結*/
String memberName = GsaCloudApplication.getMemberName(this);
String memberName = GsaCloudApplication.getMemberName();
String currentDate = TimeUtils.getCurrentDate(TimeUtils.dateFormatYMDHMS);
settlementReportItem5s.add(new SectionTextItem5(null, null, null, null, null));
settlementReportItem5s.add(new SectionTextItem5("==============================================================", null, null, null, null));
......
......@@ -132,7 +132,7 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
@Override
public void initData(@Nullable Bundle savedInstanceState) {
restaurantId = String.valueOf(GsaCloudApplication.getRestaurantId(mContext));
restaurantId = String.valueOf(GsaCloudApplication.getRestaurantId());
//獲取一段時間內的營業信息,默認獲取七天的數據
startTime = TimeUtils.getOldDate(-manyDay);
......
......@@ -108,7 +108,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
@Override
public void initData(@Nullable Bundle savedInstanceState) {
mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId(mContext) + "");
mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId() + "");
// mPresenter.getRestaurantFunList("26");
initTopBar();
initStickyLayout();
......
......@@ -125,8 +125,8 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
}
private void getInfo() {
mPresenter.getOrderInfoChart(GsaCloudApplication.getRestaurantId(mContext) + "");
mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId(mContext) + "");//GsaCloudApplication.getRestaurantId(mContext) 獲取餐廳營業信息
mPresenter.getOrderInfoChart(GsaCloudApplication.getRestaurantId() + "");
mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId() + "");//GsaCloudApplication.getRestaurantId() 獲取餐廳營業信息
}
......
......@@ -116,7 +116,7 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
private void getPayMenthInfo() {
String startTime = TimeUtils.getDatebyDate(mTvStartTime.getText().toString(), -1);
String endTime = TimeUtils.getDatebyDate(mTvEndTime.getText().toString(), 1);
mPresenter.getPaymentInfo(GsaCloudApplication.getRestaurantId(mContext) + "", startTime, endTime);
mPresenter.getPaymentInfo(GsaCloudApplication.getRestaurantId() + "", startTime, endTime);
}
/**
......
......@@ -543,14 +543,14 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
private void getSaleReport() {
String startTime = TimeUtils.getDatebyDate(mTvStartTime.getText().toString(), -1);
String endTime = TimeUtils.getDatebyDate(mTvEndTime.getText().toString(), 1);
mPresenter.getSalesReportInfo(GsaCloudApplication.getRestaurantId(mContext) + "", startTime, endTime);
mPresenter.getSalesReportInfo(GsaCloudApplication.getRestaurantId() + "", startTime, endTime);
}
private void getDeliveryReport(){
String startTime = TimeUtils.getDatebyDate(startEndTimePickerView.getStartTime(), -1);
String endTime = TimeUtils.getDatebyDate(startEndTimePickerView.getEndTime(), 1);
mPresenter.getDeliveryOrderCurveInfo(GsaCloudApplication.getRestaurantId(mContext) + "", startTime, endTime);
mPresenter.getDeliveryPersonnelReport(GsaCloudApplication.getRestaurantId(mContext) + "", startTime, endTime);
mPresenter.getDeliveryOrderCurveInfo(GsaCloudApplication.getRestaurantId() + "", startTime, endTime);
mPresenter.getDeliveryPersonnelReport(GsaCloudApplication.getRestaurantId() + "", startTime, endTime);
}
private StartEndTimePickerView.onUpdateTimePicker onUpdateTimePicker = (startTime, endTime) -> getDeliveryReport();
......
......@@ -64,7 +64,7 @@ public class DailyBusinessView extends BaseReloadView {
TextView tvRestaurantName = contentView.findViewById(R.id.tv_restaurant_name);
View horizontalLine = contentView.findViewById(R.id.horizontal_dividing_line);
mBusinessDetails = contentView.findViewById(R.id.rv_business_details);
tvRestaurantName.setText(GsaCloudApplication.getRestaurantName(getContext()));
tvRestaurantName.setText(GsaCloudApplication.getRestaurantName());
if (isPrint) {
tvRestaurantName.setTextSize(24);
......
package com.gingersoft.cloud.gsa;
import org.junit.Test;
import java.math.BigDecimal;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
BigDecimal bigDecimal = new BigDecimal(13.456);
// BigDecimal bigDecimal2 = new BigDecimal(1.56);
System.out.println("bigDecimal: "+bigDecimal.setScale(2, BigDecimal.ROUND_DOWN).doubleValue());
}
}
\ No newline at end of file
......@@ -99,7 +99,7 @@ public class TableManageModel extends BaseModel implements TableManageContract.M
@Override
public Observable<BaseResult> queryAreas() {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
int restaurantId = GsaCloudApplication.getRestaurantId();
return mRepositoryManager.obtainRetrofitService(TableManageService.class)
.queryArea(restaurantId);
}
......@@ -151,7 +151,7 @@ public class TableManageModel extends BaseModel implements TableManageContract.M
@Override
public Observable<BaseResult> queryTables() {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
int restaurantId = GsaCloudApplication.getRestaurantId();
return mRepositoryManager.obtainRetrofitService(TableManageService.class)
.queryTable(restaurantId);
}
......
......@@ -363,7 +363,7 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
public void changeAreaSort(String ids) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId(mApplication)))
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId()))
.add("ids", ids)
.build();
LogUtil.d(TAG, "changeAreaSort " + " ids:" + ids );
......@@ -398,7 +398,7 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
public void changeTableSort(String ids) {
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId(mApplication)))
.add("restaurantId", String.valueOf(GsaCloudApplication.getRestaurantId()))
.add("ids", ids)
.build();
LogUtil.d(TAG, "changeTableSort " + " ids:" + ids );
......
......@@ -234,7 +234,7 @@ public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements A
public AreaRequest.Add createAddAreaRequest() {
int restaurantId = GsaCloudApplication.getRestaurantId(mContext);
int restaurantId = GsaCloudApplication.getRestaurantId();
AreaRequest.Add areaRequest = new AreaRequest.Add();
areaRequest.setRestaurantId(restaurantId);
areaRequest.setRegionName(ed_area_name.getText().toString());
......
......@@ -430,7 +430,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
public TableRequest.Add createAddTableRequest() {
TableRequest.Add addTableRequest = new TableRequest.Add();
addTableRequest.setRegionId(currentAreaId);
addTableRequest.setRestaurantId(GsaCloudApplication.getRestaurantId(mActivity));
addTableRequest.setRestaurantId(GsaCloudApplication.getRestaurantId());
addTableRequest.setTableName(tableNameEditText.getText().toString());
if (!TextUtils.isEmpty(serverchargeEditText.getText().toString())) {
addTableRequest.setServiceCharge(Double.parseDouble(serverchargeEditText.getText().toString()));
......@@ -452,7 +452,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
TableRequest.Update update = new TableRequest.Update();
update.setId(id);
update.setRegionId(currentAreaId);
update.setRestaurantId(GsaCloudApplication.getRestaurantId(mActivity));
update.setRestaurantId(GsaCloudApplication.getRestaurantId());
update.setTableName(tableNameEditText.getText().toString());
if (!TextUtils.isEmpty(serverchargeEditText.getText().toString())) {
update.setServiceCharge(Double.parseDouble(serverchargeEditText.getText().toString()));
......
......@@ -438,7 +438,7 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
}
public AreaRequest.Add createAddAreaRequest() {
int restaurantId = GsaCloudApplication.getRestaurantId(mContext);
int restaurantId = GsaCloudApplication.getRestaurantId();
AreaRequest.Add areaRequest = new AreaRequest.Add();
areaRequest.setRestaurantId(restaurantId);
areaRequest.setRegionName(ed_area_name.getText().toString());
......
......@@ -270,7 +270,7 @@ public class PrintInfoBean {
}
//人數
if (prjBean.getPerson() != 0) {
printInfoBeans.add(new PrintInfoBean(new String[]{"人數:" + prjBean.getPerson(), GsaCloudApplication.getMemberName(GsaCloudApplication.getAppContext())}, new Double[]{1d}, 0));
printInfoBeans.add(new PrintInfoBean(new String[]{"人數:" + prjBean.getPerson(), GsaCloudApplication.getMemberName()}, new Double[]{1d}, 0));
}
printInfoBeans.add(new PrintInfoBean(new String[]{getLineBorder("", 1, paperWidth)}, 0));
for (PrjBean.DataBean.Bean bean : prjBeans) {
......@@ -334,8 +334,8 @@ public class PrintInfoBean {
if (data == null) {
return null;
}
printInfoBeans.add(new PrintInfoBean(new String[]{GsaCloudApplication.getBrandName(context)}, new Boolean[]{true}, new Double[]{2d}));
printInfoBeans.add(new PrintInfoBean(new String[]{GsaCloudApplication.getRestaurantName(context)}, new Boolean[]{true}, new Double[]{2d}));
printInfoBeans.add(new PrintInfoBean(new String[]{GsaCloudApplication.getBrandName()}, new Boolean[]{true}, new Double[]{2d}));
printInfoBeans.add(new PrintInfoBean(new String[]{GsaCloudApplication.getRestaurantName()}, new Boolean[]{true}, new Double[]{2d}));
printInfoBeans.add(new PrintInfoBean(new String[]{getLineBorder(data.getOrder_type() == 2 ? "外送" : "自取", 2, paperWidth)}, new Boolean[]{true}, new Double[]{2d}));
......
......@@ -8,14 +8,13 @@ import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.table.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.common.bean.table.TableBean;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import java.util.ArrayList;
......@@ -39,16 +38,7 @@ public class PrintBill extends PrinterRoot {
@Override
public int getPrintCount(Context context) {
ExpandInfoDaoUtils expandInfoDaoUtils = new ExpandInfoDaoUtils(context);
List<ExpandInfo> expandInfos = expandInfoDaoUtils.queryAllExpandInfo();
if (expandInfos != null) {
for (ExpandInfo expandInfo : expandInfos) {
if (expandInfo.getSettingName().equals(ExpandConstant.TableModeClosingPC)) {
return expandInfo.getValueInt();
}
}
}
return 1;
return RestaurantExpandInfoUtils.getValue(ExpandConstant.TableModeClosingPC,1);
}
private Bitmap getBitmap(Context mContext, PrinterDeviceBean deviceBean) {
......
......@@ -14,12 +14,11 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrintBillBean;
......@@ -63,16 +62,7 @@ public class PrintOtherOrder extends PrinterRoot {
@Override
public int getPrintCount(Context context) {
ExpandInfoDaoUtils expandInfoDaoUtils = new ExpandInfoDaoUtils(context);
List<ExpandInfo> expandInfos = expandInfoDaoUtils.queryAllExpandInfo();
if (expandInfos != null) {
for (ExpandInfo expandInfo : expandInfos) {
if (expandInfo.getSettingName().equals(ExpandConstant.DeliveryPrintCount)) {
return expandInfo.getValueInt();
}
}
}
return 1;
return RestaurantExpandInfoUtils.getValue(ExpandConstant.DeliveryPrintCount,1);
}
private void addCountBitmap(List<Bitmap> bitmaps, int count, Bitmap bitmap) {
......@@ -119,7 +109,7 @@ public class PrintOtherOrder extends PrinterRoot {
} else {
tvSendTime.setVisibility(View.GONE);
}
tvOperator.setText("操作:" + GsaCloudApplication.getMemberName(context));
tvOperator.setText("操作:" + GsaCloudApplication.getMemberName());
//創建時間
tvCreateTime.setText(TimeUtils.parseTimeRepeat(dataBean.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT));
//訂單號
......@@ -174,9 +164,9 @@ public class PrintOtherOrder extends PrinterRoot {
TextView tvOrderClosing = view.findViewById(R.id.tv_order_closing);
TextView tvBillNumber = view.findViewById(R.id.tv_bill_number);
//品牌名
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context));
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName());
//餐廳名
setText(view, R.id.tv_restaurant_name, GsaCloudApplication.getRestaurantName(context));
setText(view, R.id.tv_restaurant_name, GsaCloudApplication.getRestaurantName());
// 訂單類型
setText(view, R.id.tv_order_type, data.getOrder_type() == 2 ? "外送" : "自取");
// 訂單號
......
......@@ -14,11 +14,10 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrintBillBean;
......@@ -50,16 +49,7 @@ public class PrintOtherOrderClosing extends PrinterRoot {
@Override
public int getPrintCount(Context context) {
ExpandInfoDaoUtils expandInfoDaoUtils = new ExpandInfoDaoUtils(context);
List<ExpandInfo> expandInfos = expandInfoDaoUtils.queryAllExpandInfo();
if (expandInfos != null) {
for (ExpandInfo expandInfo : expandInfos) {
if (expandInfo.getSettingName().equals(ExpandConstant.DeliveryClosingPC)) {
return expandInfo.getValueInt();
}
}
}
return 1;
return RestaurantExpandInfoUtils.getValue(ExpandConstant.DeliveryClosingPC,1);
}
private Bitmap initPrintView(Context context, OrderDetails.DataBean data, PrinterDeviceBean deviceBean) {
......@@ -75,9 +65,9 @@ public class PrintOtherOrderClosing extends PrinterRoot {
TextView tvBillNumber = view.findViewById(R.id.tv_bill_number);
TextView tvPayMethodTwo = view.findViewById(R.id.tv_pay_amount_text_two);
//品牌名
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context));
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName());
//餐廳名
setText(view, R.id.tv_restaurant_name, GsaCloudApplication.getRestaurantName(context));
setText(view, R.id.tv_restaurant_name, GsaCloudApplication.getRestaurantName());
// 訂單號
setText(view, R.id.tv_order_number, "單號:" + data.getORDER_NO());
......
......@@ -9,8 +9,10 @@ import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrjBean;
......@@ -63,7 +65,7 @@ public class PrintPrjKitchen extends PrinterRoot {
return 1;
}
public Bitmap getKitChenPrintBitmap(Context context, String key, PrjBean.DataBean.Bean data, PrinterDeviceBean printerDeviceBean) {
public Bitmap getKitChenPrintBitmap(Context context, String key, PrjBean.DataBean.Bean data, PrinterDeviceBean printerDeviceBean) {
List<PrjBean.DataBean.Bean> beans = new ArrayList<>();
beans.add(data);
return getKitChenPrintBitmap(context, key, beans, printerDeviceBean);
......@@ -162,9 +164,9 @@ public class PrintPrjKitchen extends PrinterRoot {
view.findViewById(R.id.tv_people_text).setVisibility(View.VISIBLE);
view.findViewById(R.id.tv_people).setVisibility(View.VISIBLE);
}
if(TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getTakeTime())){
if (TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getTakeTime())) {
tvTakeTime.setText("取餐時間:" + prjBean.getTakeTime());
} else if(TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getSendTime())){
} else if (TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getSendTime())) {
tvTakeTime.setText("送達時間:" + prjBean.getSendTime());
} else {
tvTakeTime.setVisibility(View.GONE);
......@@ -187,8 +189,9 @@ public class PrintPrjKitchen extends PrinterRoot {
tvOrderTime.setText(TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_MDHM));
//操作人員
tvOperator.setText(prjBean.getUserName());
tvCurrentPageIndex.setText(prjBean.getCurrentIndex() + "/" + prjBean.getTotalPrj());
if (RestaurantExpandInfoUtils.getValue(ExpandConstant.PrintPage, false)) {
tvCurrentPageIndex.setText(prjBean.getCurrentIndex() + "/" + prjBean.getTotalPrj());
}
return viewToZoomBitmap(context, view, printerDeviceBean);
}
......
......@@ -64,8 +64,8 @@ public class PrintServe extends PrinterRoot {
TextView checkOutTime = view.findViewById(R.id.tv_checkout_time);
TextView line_food_info = view.findViewById(R.id.line_food_info);
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean();
brandName.setText(GsaCloudApplication.getBrandName(context));
restaurantName.setText(GsaCloudApplication.getRestaurantName(context));
brandName.setText(GsaCloudApplication.getBrandName());
restaurantName.setText(GsaCloudApplication.getRestaurantName());
tableNum.setText("餐檯:" + tableBean.getTableName());
people.setText("人數:" + OpenTableManage.getDefault().getPeopleNumber());
......
......@@ -8,14 +8,13 @@ import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.table.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.common.bean.table.TableBean;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.joe.print.R;
import java.util.ArrayList;
......@@ -47,16 +46,7 @@ public class PrintSlip extends PrinterRoot {
@Override
public int getPrintCount(Context context) {
ExpandInfoDaoUtils expandInfoDaoUtils = new ExpandInfoDaoUtils(context);
List<ExpandInfo> expandInfos = expandInfoDaoUtils.queryAllExpandInfo();
if (expandInfos != null) {
for (ExpandInfo expandInfo : expandInfos) {
if (expandInfo.getSettingName().equals(ExpandConstant.TableModePrintCount)) {
return expandInfo.getValueInt();
}
}
}
return 1;
return RestaurantExpandInfoUtils.getValue(ExpandConstant.TableModePrintCount,1);
}
private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) {
......
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