Commit 9ca88b20 by 宁斌

skyorder打印處理 新增哆啦A夢:滴滴開源工具(辅助开发工具、测试效率工具、视觉辅助工具)

parent 654437d8
package com.gingersoft.gsa.cloud.base.common.bean;
/**
* @author : bin
* @create date: 2020-11-05
* @update date: 2020-11-05
* @description:
*/
public class BaseResultOld {
}
package com.gingersoft.gsa.cloud.config;
/**
* @author : bin
* @create date: 2020-11-05
* @update date: 2020-11-05
* @description:
*/
public class LogConfig {
}
package com.gingersoft.gsa.cloud.bean.expandInfo; package com.gingersoft.gsa.cloud.config.expandInfo;
import android.util.SparseArray;
import com.gingersoft.gsa.cloud.base.Api; import com.gingersoft.gsa.cloud.base.Api;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
...@@ -57,14 +55,14 @@ public class ExpandInfoSetting { ...@@ -57,14 +55,14 @@ public class ExpandInfoSetting {
public <T> T getValue() { public <T> T getValue() {
if (valueInt != null) { if (valueChar != null) {
return (T) valueInt;
} else if (valueChar != null) {
return (T) valueChar; return (T) valueChar;
} else if (valueBoolean != null) { } else if (valueBoolean != null) {
return (T) valueBoolean; return (T) valueBoolean;
} else if (valueDateTime != null) { } else if (valueDateTime != null) {
return (T) valueDateTime; return (T) valueDateTime;
} else if (valueInt != null) {
return (T) valueInt;
} }
return null; return null;
} }
...@@ -94,7 +92,7 @@ public class ExpandInfoSetting { ...@@ -94,7 +92,7 @@ public class ExpandInfoSetting {
@Override @Override
public void onNext(String s) { public void onNext(String s) {
int i = 1;
} }
@Override @Override
......
package com.gingersoft.gsa.cloud.bean.expandInfo; package com.gingersoft.gsa.cloud.config.expandInfo;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -103,6 +103,11 @@ public class FunctionExtendedConfiguration { ...@@ -103,6 +103,11 @@ public class FunctionExtendedConfiguration {
.remark("餐檯模式下單頁多少秒不操作返回餐檯頁面") .remark("餐檯模式下單頁多少秒不操作返回餐檯頁面")
.build(); .build();
private ExpandInfoSetting QRCodeTimeSlice = ExpandInfoSetting.builder()
.valueChar("00,15,30,45")
.remark("QRCode交台时间片(分)使用逗号分隔")
.build();
public <T>T getRoundingVaule() { public <T>T getRoundingVaule() {
return Rounding.getValue(); return Rounding.getValue();
} }
...@@ -174,4 +179,8 @@ public class FunctionExtendedConfiguration { ...@@ -174,4 +179,8 @@ public class FunctionExtendedConfiguration {
public <T>T getAutoQuitTimeVaule() { public <T>T getAutoQuitTimeVaule() {
return AutoQuitTime.getValue(); return AutoQuitTime.getValue();
} }
public <T>T getQRCodeTimeSliceVaule() {
return QRCodeTimeSlice.getValue();
}
} }
package com.gingersoft.gsa.cloud.bean.expandInfo; package com.gingersoft.gsa.cloud.config.expandInfo;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.globalconfig; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.globalconfig;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import com.gingersoft.gsa.cloud.constans.HttpsConstans; import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGlobalHttpHandler; import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGlobalHttpHandler;
import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGsonConfiguration; import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGsonConfiguration;
...@@ -14,10 +15,14 @@ import com.gingersoft.gsa.cloud.globalconfig.lifecyclesOptioins.MyAppLifecycles; ...@@ -14,10 +15,14 @@ import com.gingersoft.gsa.cloud.globalconfig.lifecyclesOptioins.MyAppLifecycles;
import com.jess.arms.base.delegate.AppLifecycles; import com.jess.arms.base.delegate.AppLifecycles;
import com.jess.arms.di.module.GlobalConfigModule; import com.jess.arms.di.module.GlobalConfigModule;
import com.jess.arms.integration.ConfigModule; import com.jess.arms.integration.ConfigModule;
import com.jess.arms.integration.cache.Cache;
import com.jess.arms.integration.cache.CacheType;
import com.jess.arms.utils.DataHelper; import com.jess.arms.utils.DataHelper;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
public class GlobalConfiguration implements ConfigModule { public class GlobalConfiguration implements ConfigModule {
......
package com.gingersoft.gsa.cloud.ui.widget.dialog;
/**
* @author : bin
* @create date: 2020-11-05
* @update date: 2020-11-05
* @description:
*/
public interface DialogLifecycleListener {
}
package com.joe.print.mvp.print;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.Gravity;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* skyorder qrcode打印
*/
public class PrintSkyOrderQR extends PrinterRoot {
@Override
public Map<String, List<Bitmap>> getPrintBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) {
Map<String, List<Bitmap>> bitmapMaps = new HashMap<>();
List<Bitmap> bitmaps = new ArrayList<>();
bitmaps.add(getBitmap(mContext, printerDeviceBean));
bitmapMaps.put("", bitmaps);
return bitmapMaps;
}
@Override
public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) {
List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
String stringBuilder = "<html><body>" +
getHtmlPrintHeadInfo() +
getHtmlPrintHeadOrderInfo(tableBean) +
generateFoodInfoTwoColumns(foodList) +
getWholeLine() +
getHtmlFooter() + "</body></html>";
return stringBuilder;
}
@Override
public int getPrintCount(Context context) {
return 1;
}
private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) {
List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
if (foodList == null || foodList.size() <= 0) {
return null;
}
TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL);
//訂單頭
layout.addView(getHeader(mContext));
layout.addView(getLine(mContext));
String orderNo = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(DoshokuOrder.getInstance().getOrderNo())) {
orderNo = "單號:" + DoshokuOrder.getInstance().getOrderNo();
}
//訂單信息
layout.addView(getDiningTableOrderInfo(mContext, "餐檯:" + tableBean.getTableName(), "人數:" + DoshokuOrder.getInstance().getOpenTableInfo().getPerson(), orderNo, "日期:" + TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)));
layout.addView(getLine(mContext));
layout.addView(getDiningFoodList(mContext, foodList, printerDeviceBean, 0, false));
layout.addView(getLine(mContext));
layout.addView(getTextView(mContext, "Thank you!", Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8)));
layout.addView(getTextView(mContext, TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT), Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8)));
return viewToZoomBitmap(mContext, layout, printerDeviceBean);
}
public View getPrintView(Context mContext) {
View view = View.inflate(mContext, R.layout.print_skyorder_qrcode, null);
TextView tvBrandName = view.findViewById(R.id.print_brand_name);
TextView tvRestaurantName = view.findViewById(R.id.print_restaurant_name);
tvBrandName.setText(GsaCloudApplication.getBrandName());
tvRestaurantName.setText(GsaCloudApplication.getRestaurantName());
return view;
}
}
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
<TextView
android:id="@+id/print_brand_name"
style="@style/Print_text_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:gravity="center"
tools:text="品牌名" />
<TextView
android:id="@+id/print_restaurant_name"
style="@style/Print_text_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
tools:text="餐廳名" />
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment