Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
fb2f2dca
Commit
fb2f2dca
authored
Dec 01, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
外賣接單 結賬單,外賣接單 印單
parent
922cde77
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
992 additions
and
183 deletions
+992
-183
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/StringUtils.java
+39
-19
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintQRCodeContent.java
+6
-6
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintTakeawayCheckoutContent.java
+56
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintTakeawayFormContent.java
+148
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/AdaptationContent.java
+22
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/AdaptationContent2.java
+22
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/PrintContentAdapter.java
+111
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintBillItem.java
+49
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintFoodItem.java
+60
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintPayTypeItem.java
+50
-0
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/HistoryOrderViewModel.kt
+2
-2
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/PageViewModel.kt
+13
-4
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
+0
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+1
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCartNumberChange.java
+0
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
+0
-1
print-module/src/main/java/com/joe/print/mvp/model/bean/HtmlLable.java
+17
-0
print-module/src/main/java/com/joe/print/mvp/model/bean/PrintBillBean.java
+0
-28
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
+0
-2
print-module/src/main/java/com/joe/print/mvp/print/PrintCleanMachine.java
+20
-24
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
+0
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
+25
-7
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
+29
-9
print-module/src/main/java/com/joe/print/mvp/print/PrintPrjKitchen.java
+27
-27
print-module/src/main/java/com/joe/print/mvp/print/PrintQRCode.java
+17
-16
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
+0
-1
print-module/src/main/java/com/joe/print/mvp/print/PrintUtils.java
+4
-12
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+258
-11
print-module/src/main/java/com/joe/print/mvp/print/common/HtmlContract.java
+11
-0
print-module/src/main/java/com/joe/print/mvp/print/utils/BBposPrint.java
+1
-1
print-module/src/main/java/com/joe/print/mvp/ui/adapter/BillItemAdapter.java
+4
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
+0
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+0
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+0
-1
No files found.
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/StringUtils.java
View file @
fb2f2dca
...
...
@@ -10,6 +10,7 @@ import java.util.regex.Pattern;
public
class
StringUtils
{
public
static
final
String
DEFAULT_QUERY_REGEX
=
"[!$^&*+=|{}';'\",<>/?~!#¥%……&*——|{}【】‘;:”“'。,、?]"
;
/**
* 生成指定长度字符串,不足位右补空格,超出換行
*
...
...
@@ -190,29 +191,30 @@ public class StringUtils {
/**
* 特殊字符转义处理
*
* @param data
* @return
*/
public
static
String
stringEscape
(
String
data
)
{
data
=
data
.
replace
(
" "
,
"%20"
);
data
=
data
.
replace
(
"\""
,
"%22"
);
data
=
data
.
replace
(
"#"
,
"%23"
);
data
=
data
.
replace
(
"%"
,
"%25"
);
data
=
data
.
replace
(
"&"
,
"%26"
);
data
=
data
.
replace
(
"("
,
"%28"
);
data
=
data
.
replace
(
")"
,
"%29"
);
data
=
data
.
replace
(
"+"
,
"%2B"
);
data
=
data
.
replace
(
","
,
"%2C"
);
data
=
data
.
replace
(
"/"
,
"%2F"
);
data
=
data
.
replace
(
":"
,
"%3A"
);
data
=
data
.
replace
(
";"
,
"%3B"
);
data
=
data
.
replace
(
"<"
,
"%3C"
);
data
=
data
.
replace
(
"="
,
"%3D"
);
data
=
data
.
replace
(
">"
,
"%3E"
);
data
=
data
.
replace
(
"?"
,
"%3F"
);
data
=
data
.
replace
(
"@"
,
"%40"
);
data
=
data
.
replace
(
"\\ "
,
"%5C"
);
data
=
data
.
replace
(
"|"
,
"%7C"
);
data
=
data
.
replace
(
" "
,
"%20"
);
data
=
data
.
replace
(
"\""
,
"%22"
);
data
=
data
.
replace
(
"#"
,
"%23"
);
data
=
data
.
replace
(
"%"
,
"%25"
);
data
=
data
.
replace
(
"&"
,
"%26"
);
data
=
data
.
replace
(
"("
,
"%28"
);
data
=
data
.
replace
(
")"
,
"%29"
);
data
=
data
.
replace
(
"+"
,
"%2B"
);
data
=
data
.
replace
(
","
,
"%2C"
);
data
=
data
.
replace
(
"/"
,
"%2F"
);
data
=
data
.
replace
(
":"
,
"%3A"
);
data
=
data
.
replace
(
";"
,
"%3B"
);
data
=
data
.
replace
(
"<"
,
"%3C"
);
data
=
data
.
replace
(
"="
,
"%3D"
);
data
=
data
.
replace
(
">"
,
"%3E"
);
data
=
data
.
replace
(
"?"
,
"%3F"
);
data
=
data
.
replace
(
"@"
,
"%40"
);
data
=
data
.
replace
(
"\\ "
,
"%5C"
);
data
=
data
.
replace
(
"|"
,
"%7C"
);
return
data
;
}
...
...
@@ -268,4 +270,21 @@ public class StringUtils {
protected
String
getQueryRegex
()
{
return
DEFAULT_QUERY_REGEX
;
}
/**
* 方法二:推荐,速度最快
* 判断是否为整数
* @param str 传入的字符串
* @return 是整数返回true, 否则返回false
*/
public
static
boolean
isInteger
(
String
str
)
{
Pattern
pattern
=
Pattern
.
compile
(
"^[-\\+]?[\\d]*$"
);
return
pattern
.
matcher
(
str
).
matches
();
}
public
static
boolean
isNumeric
(
String
str
){
Pattern
pattern
=
Pattern
.
compile
(
"[0-9]*"
);
return
pattern
.
matcher
(
str
).
matches
();
}
}
\ No newline at end of file
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintQRCodeContent.java
View file @
fb2f2dca
...
...
@@ -2,17 +2,15 @@ package com.gingersoft.gsa.cloud.print.bean;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-11-06
* @update date: 2020-11-06
* @description:skyorder 打印實體
* */
@Getter
@Setter
* @description:skyorder qrcode打印實體
*/
@Data
public
class
PrintQRCodeContent
implements
PrintContent
,
Parcelable
{
private
String
printTableName
;
...
...
@@ -63,4 +61,6 @@ public class PrintQRCodeContent implements PrintContent, Parcelable {
return
new
PrintQRCodeContent
[
size
];
}
};
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintTakeawayCheckoutContent.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintPayTypeItem
;
import
java.util.List
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:外賣結賬打印實體
*/
@Data
public
class
PrintTakeawayCheckoutContent
extends
PrintTakeawayFormContent
implements
Parcelable
,
PrintContent
{
/**
* 支付方式
*/
private
List
<
PrintPayTypeItem
>
payTypeList
;
public
PrintTakeawayCheckoutContent
()
{
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
super
.
writeToParcel
(
dest
,
flags
);
dest
.
writeTypedList
(
this
.
payTypeList
);
}
protected
PrintTakeawayCheckoutContent
(
Parcel
in
)
{
super
(
in
);
this
.
payTypeList
=
in
.
createTypedArrayList
(
PrintPayTypeItem
.
CREATOR
);
}
public
static
final
Creator
<
PrintTakeawayCheckoutContent
>
CREATOR
=
new
Creator
<
PrintTakeawayCheckoutContent
>()
{
@Override
public
PrintTakeawayCheckoutContent
createFromParcel
(
Parcel
source
)
{
return
new
PrintTakeawayCheckoutContent
(
source
);
}
@Override
public
PrintTakeawayCheckoutContent
[]
newArray
(
int
size
)
{
return
new
PrintTakeawayCheckoutContent
[
size
];
}
};
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/PrintTakeawayFormContent.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintPayTypeItem
;
import
java.util.List
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:外賣印單打印實體
*/
@Data
public
class
PrintTakeawayFormContent
implements
PrintContent
,
Parcelable
{
private
String
brand
;
private
String
resturantName
;
/**
* 支付類型:在線支付,貨到付款
*/
private
String
payType
;
//送達時間
private
String
deliveryTime
;
//單號
private
String
orderNumber
;
//訂單碼
private
String
billNumber
;
//取餐碼
private
String
orderTakeFoodCode
;
//開單時間
private
String
billingTime
;
//支付時間
private
String
payTime
;
//備註
private
String
remark
;
//訂單實體
private
List
<
PrintFoodItem
>
foodItemList
;
private
List
<
PrintBillItem
>
billItemList
;
private
List
<
PrintPayTypeItem
>
printPayTypeItemList
;
//總金額
private
String
totalAmountText
;
private
String
totalAmount
;
//支付金額
private
String
payAmountText
;
private
String
payAmount
;
//會員積分信息
private
String
memberName
;
private
String
memberNumber
;
private
String
memberPhone
;
private
String
memberOldPoints
;
private
String
memberAddPoints
;
private
String
memberNowPoints
;
//收貨信息
private
String
adress
;
private
String
receiver
;
private
String
phone
;
//禮貌用語
private
String
politeLanguage
;
//打印時間
private
String
printTime
;
public
PrintTakeawayFormContent
()
{
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeString
(
this
.
brand
);
dest
.
writeString
(
this
.
resturantName
);
dest
.
writeString
(
this
.
payType
);
dest
.
writeString
(
this
.
deliveryTime
);
dest
.
writeString
(
this
.
orderNumber
);
dest
.
writeString
(
this
.
billNumber
);
dest
.
writeString
(
this
.
orderTakeFoodCode
);
dest
.
writeString
(
this
.
billingTime
);
dest
.
writeString
(
this
.
payTime
);
dest
.
writeString
(
this
.
remark
);
dest
.
writeTypedList
(
this
.
foodItemList
);
dest
.
writeTypedList
(
this
.
billItemList
);
dest
.
writeTypedList
(
this
.
printPayTypeItemList
);
dest
.
writeString
(
this
.
totalAmountText
);
dest
.
writeString
(
this
.
totalAmount
);
dest
.
writeString
(
this
.
payAmount
);
dest
.
writeString
(
this
.
memberNumber
);
dest
.
writeString
(
this
.
memberName
);
dest
.
writeString
(
this
.
memberPhone
);
dest
.
writeString
(
this
.
memberOldPoints
);
dest
.
writeString
(
this
.
memberAddPoints
);
dest
.
writeString
(
this
.
memberNowPoints
);
dest
.
writeString
(
this
.
adress
);
dest
.
writeString
(
this
.
receiver
);
dest
.
writeString
(
this
.
phone
);
dest
.
writeString
(
this
.
politeLanguage
);
dest
.
writeString
(
this
.
printTime
);
}
protected
PrintTakeawayFormContent
(
Parcel
in
)
{
this
.
brand
=
in
.
readString
();
this
.
resturantName
=
in
.
readString
();
this
.
payType
=
in
.
readString
();
this
.
deliveryTime
=
in
.
readString
();
this
.
orderNumber
=
in
.
readString
();
this
.
billNumber
=
in
.
readString
();
this
.
orderTakeFoodCode
=
in
.
readString
();
this
.
billingTime
=
in
.
readString
();
this
.
payTime
=
in
.
readString
();
this
.
remark
=
in
.
readString
();
this
.
foodItemList
=
in
.
createTypedArrayList
(
PrintFoodItem
.
CREATOR
);
this
.
billItemList
=
in
.
createTypedArrayList
(
PrintBillItem
.
CREATOR
);
this
.
printPayTypeItemList
=
in
.
createTypedArrayList
(
PrintPayTypeItem
.
CREATOR
);
this
.
totalAmountText
=
in
.
readString
();
this
.
totalAmount
=
in
.
readString
();
this
.
payAmount
=
in
.
readString
();
this
.
memberNumber
=
in
.
readString
();
this
.
memberName
=
in
.
readString
();
this
.
memberPhone
=
in
.
readString
();
this
.
memberOldPoints
=
in
.
readString
();
this
.
memberAddPoints
=
in
.
readString
();
this
.
memberNowPoints
=
in
.
readString
();
this
.
adress
=
in
.
readString
();
this
.
receiver
=
in
.
readString
();
this
.
phone
=
in
.
readString
();
this
.
politeLanguage
=
in
.
readString
();
this
.
printTime
=
in
.
readString
();
}
public
static
final
Creator
<
PrintTakeawayFormContent
>
CREATOR
=
new
Creator
<
PrintTakeawayFormContent
>()
{
@Override
public
PrintTakeawayFormContent
createFromParcel
(
Parcel
source
)
{
return
new
PrintTakeawayFormContent
(
source
);
}
@Override
public
PrintTakeawayFormContent
[]
newArray
(
int
size
)
{
return
new
PrintTakeawayFormContent
[
size
];
}
};
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/AdaptationContent.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
adapter
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:
*/
public
interface
AdaptationContent
{
PrintContent
adaptationQRCode
();
PrintContent
adaptationPrintTakeawayFormContent
(
OrderDetails
.
DataBean
data
);
PrintContent
adaptationPrintTakeawayCheckoutContent
(
OrderDetails
.
DataBean
data
);
PrintContent
adaptationPrintCleanMachineContent
();
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/AdaptationContent2.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
adapter
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:
*/
public
interface
AdaptationContent2
{
PrintContent
adaptationQRCode
();
// PrintContent adaptationPrintTakeawayFormContent(OrderDetails.DataBean data);
//
// PrintContent adaptationPrintTakeawayCheckoutContent(OrderDetails.DataBean data);
//
// PrintContent adaptationPrintCleanMachineContent();
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/adapter/PrintContentAdapter.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
adapter
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.account.restaurant.ResturantInfoManager
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintTakeawayFormContent
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintPayTypeItem
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:
*/
@Data
public
class
PrintContentAdapter
implements
AdaptationContent
{
public
PrintContentAdapter
()
{
}
@Override
public
PrintContent
adaptationQRCode
()
{
return
null
;
}
@Override
public
PrintContent
adaptationPrintTakeawayFormContent
(
OrderDetails
.
DataBean
data
)
{
return
getPrintTakeawayFormContent
(
data
);
}
@Override
public
PrintContent
adaptationPrintTakeawayCheckoutContent
(
OrderDetails
.
DataBean
data
)
{
return
getPrintTakeawayFormContent
(
data
);
}
@Override
public
PrintContent
adaptationPrintCleanMachineContent
()
{
return
null
;
}
public
PrintTakeawayFormContent
getPrintTakeawayFormContent
(
OrderDetails
.
DataBean
data
)
{
PrintTakeawayFormContent
takeawayFormContent
=
new
PrintTakeawayFormContent
();
takeawayFormContent
.
setBrand
(
ResturantInfoManager
.
newInstance
().
getBrandName
());
takeawayFormContent
.
setResturantName
(
ResturantInfoManager
.
newInstance
().
getRestaurantName
());
takeawayFormContent
.
setPayType
(
String
.
valueOf
(
data
.
getPayType
()));
takeawayFormContent
.
setDeliveryTime
(
data
.
getOrder_type
()
==
2
?
data
.
getSEND_TIME
()
:
data
.
getTakeTime
());
takeawayFormContent
.
setOrderNumber
(
data
.
getORDER_NO
());
takeawayFormContent
.
setBillNumber
(
data
.
getBillNo
());
takeawayFormContent
.
setOrderTakeFoodCode
(
data
.
getTakeFoodCode
());
takeawayFormContent
.
setBillingTime
(
data
.
getCREATE_TIME
());
takeawayFormContent
.
setPayTime
(
data
.
getPayTime
());
takeawayFormContent
.
setRemark
(
data
.
getRemark
());
// takeawayFormContent.setFoodItemList(getPrintFoodItemsByProductBeans(data.getPRODUCT_NAME()));
takeawayFormContent
.
setBillItemList
(
getBillItemListByInfo
(
data
.
getTOTAL_AMOUNT
(),
data
.
getLunchbox
(),
data
.
getDELIVERY_CHARGE
()));
takeawayFormContent
.
setPrintPayTypeItemList
(
getPrintPayTypeItemsByPayMultiple
(
data
.
getPayMultiple
()));
takeawayFormContent
.
setTotalAmountText
(
"總金額: "
);
takeawayFormContent
.
setTotalAmount
(
data
.
getTOTAL_AMOUNT
());
takeawayFormContent
.
setPayAmountText
(
"支付金額: "
);
takeawayFormContent
.
setPayAmount
(
String
.
valueOf
(
data
.
getPAY_AMOUNT
()));
takeawayFormContent
.
setMemberName
(
data
.
getMEMBER_NAME
());
// takeawayFormContent.setMemberNumber(data.getm);
takeawayFormContent
.
setMemberPhone
(
data
.
getPHONE
());
takeawayFormContent
.
setMemberOldPoints
(
String
.
valueOf
(
data
.
getOldPoints
()));
takeawayFormContent
.
setMemberAddPoints
(
String
.
valueOf
(
data
.
getAddPoints
()));
takeawayFormContent
.
setMemberNowPoints
(
String
.
valueOf
(
data
.
getNowPoints
()));
takeawayFormContent
.
setAdress
(
data
.
getAddressDetail
());
takeawayFormContent
.
setReceiver
(
data
.
getRECEIVER
());
takeawayFormContent
.
setPhone
(
data
.
getPHONE
());
takeawayFormContent
.
setPoliteLanguage
(
"謝謝光臨!"
);
return
takeawayFormContent
;
}
// private List<PrintFoodItem> getPrintFoodItemsByProductBeans(List<OrderDetails.DataBean.PRODUCTNAMEBean> productnameBeanList) {
// List<OrderDetail> orderDetailList = OrderDetail.productMameBeanToOrderDetail(1, productnameBeanList);
// List<PrintFoodItem> printFoodItems = new ArrayList<>();
// for (OrderDetail orderDetail : orderDetailList) {
// printFoodItems.add(new PrintFoodItem(orderDetail.getProductName(), orderDetail.getNumber(), orderDetail.getPrice(), orderDetail.getItemType()));
// }
// return printFoodItems;
// }
private
List
<
PrintBillItem
>
getBillItemListByInfo
(
String
totalAmount
,
double
lunchbox
,
double
deliveryCharge
)
{
List
<
PrintBillItem
>
billItems
=
new
ArrayList
<>();
if
(
TextUtils
.
isEmpty
(
totalAmount
))
{
billItems
.
add
(
new
PrintBillItem
(
"合計: "
,
String
.
valueOf
(
totalAmount
)));
}
if
(
lunchbox
!=
0.0
)
{
billItems
.
add
(
new
PrintBillItem
(
"餐盒費: "
,
String
.
valueOf
(
lunchbox
)));
}
if
(
deliveryCharge
!=
0.0
)
{
billItems
.
add
(
new
PrintBillItem
(
"送貨費: "
,
String
.
valueOf
(
deliveryCharge
)));
}
return
billItems
;
}
private
List
<
PrintPayTypeItem
>
getPrintPayTypeItemsByPayMultiple
(
List
<
OrderDetails
.
DataBean
.
PayMultiple
>
payMultiples
)
{
List
<
PrintPayTypeItem
>
printPayTypeItems
=
new
ArrayList
<>();
for
(
OrderDetails
.
DataBean
.
PayMultiple
payMultiple
:
payMultiples
)
{
printPayTypeItems
.
add
(
new
PrintPayTypeItem
(
payMultiple
.
getPayName
(),
String
.
valueOf
(
payMultiple
.
getAmount
())));
}
return
printPayTypeItems
;
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintBillItem.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
base
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
lombok.Data
;
/**
* 賬單打印實體
*/
@Data
public
class
PrintBillItem
implements
Parcelable
{
private
String
billName
;
private
String
billAmount
;
public
PrintBillItem
(
String
billName
,
String
billAmount
)
{
this
.
billName
=
billName
;
this
.
billAmount
=
billAmount
;
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeString
(
this
.
billName
);
dest
.
writeString
(
this
.
billAmount
);
}
protected
PrintBillItem
(
Parcel
in
)
{
this
.
billName
=
in
.
readString
();
this
.
billAmount
=
in
.
readString
();
}
public
static
final
Creator
<
PrintBillItem
>
CREATOR
=
new
Creator
<
PrintBillItem
>()
{
@Override
public
PrintBillItem
createFromParcel
(
Parcel
source
)
{
return
new
PrintBillItem
(
source
);
}
@Override
public
PrintBillItem
[]
newArray
(
int
size
)
{
return
new
PrintBillItem
[
size
];
}
};
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintFoodItem.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
base
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-12-01
* @update date: 2020-12-01
* @description:食品打印實體
*/
@Data
public
class
PrintFoodItem
implements
Parcelable
{
private
String
name
;
private
int
num
;
private
double
price
;
private
int
itemType
;
public
PrintFoodItem
(
String
name
,
int
num
,
double
price
,
int
itemType
)
{
this
.
name
=
name
;
this
.
num
=
num
;
this
.
price
=
price
;
this
.
itemType
=
itemType
;
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeString
(
this
.
name
);
dest
.
writeInt
(
this
.
num
);
dest
.
writeDouble
(
this
.
price
);
dest
.
writeInt
(
this
.
itemType
);
}
protected
PrintFoodItem
(
Parcel
in
)
{
this
.
name
=
in
.
readString
();
this
.
num
=
in
.
readInt
();
this
.
price
=
in
.
readDouble
();
this
.
itemType
=
in
.
readInt
();
}
public
static
final
Creator
<
PrintFoodItem
>
CREATOR
=
new
Creator
<
PrintFoodItem
>()
{
@Override
public
PrintFoodItem
createFromParcel
(
Parcel
source
)
{
return
new
PrintFoodItem
(
source
);
}
@Override
public
PrintFoodItem
[]
newArray
(
int
size
)
{
return
new
PrintFoodItem
[
size
];
}
};
}
base-module/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintPayTypeItem.java
0 → 100644
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
print
.
bean
.
base
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
lombok.Data
;
/**
* 賬單支付方式實體
*/
@Data
public
class
PrintPayTypeItem
implements
Parcelable
{
private
String
payName
;
private
String
payAmount
;
public
PrintPayTypeItem
(
String
payName
,
String
payAmount
)
{
this
.
payName
=
payName
;
this
.
payAmount
=
payAmount
;
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeString
(
this
.
payName
);
dest
.
writeString
(
this
.
payAmount
);
}
protected
PrintPayTypeItem
(
Parcel
in
)
{
this
.
payName
=
in
.
readString
();
this
.
payAmount
=
in
.
readString
();
}
public
static
final
Creator
<
PrintPayTypeItem
>
CREATOR
=
new
Creator
<
PrintPayTypeItem
>()
{
@Override
public
PrintPayTypeItem
createFromParcel
(
Parcel
source
)
{
return
new
PrintPayTypeItem
(
source
);
}
@Override
public
PrintPayTypeItem
[]
newArray
(
int
size
)
{
return
new
PrintPayTypeItem
[
size
];
}
};
}
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/HistoryOrderViewModel.kt
View file @
fb2f2dca
...
...
@@ -88,7 +88,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
//訂單信息和廚房單
orderDetails
.
data
!!
[
0
].
order_type
=
data
.
order_type
orderDetails
.
data
!!
[
0
].
orderPayType
=
data
.
orderPayType
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
ataBean
=
orderDetails
.
data
!!
[
0
]
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
eliveryAndPickupData
=
orderDetails
.
data
!!
[
0
]
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
setActionName
(
"printActivity"
)
...
...
@@ -101,7 +101,7 @@ class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepo
}
else
{
listener
.
invoke
(
true
)
}
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
ataBean
=
null
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
eliveryAndPickupData
=
null
}
}
else
{
ToastUtils
.
show
(
context
,
"沒有訂單內容,打印失敗"
)
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/model/viewModel/PageViewModel.kt
View file @
fb2f2dca
...
...
@@ -28,6 +28,7 @@ import com.gingersoft.gsa.cloud.constans.AppConstans
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
import
com.gingersoft.gsa.cloud.constans.PrintConstans
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
import
com.gingersoft.gsa.cloud.service.GetInfoUpdateService
import
com.gingersoft.gsa.delivery_pick_mode.R
import
com.gingersoft.gsa.delivery_pick_mode.data.WeatherRepository
...
...
@@ -618,13 +619,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
*/
fun
printOrder
(
code
:
Int
,
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
MessageBean
)
->
Unit
)
{
//訂單信息和廚房單,打印前需要修改dataBean的order_type和orderPayType
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
ataBean
=
dataBean
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
eliveryAndPickupData
=
dataBean
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_ORDER
)
.
setActionName
(
"printActivity"
)
.
build
()
.
callAsyncCallbackOnMainThread
{
_
,
result
->
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
ataBean
=
null
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
eliveryAndPickupData
=
null
listener
.
invoke
(
getMsgBean
(
code
,
"打印"
,
result
.
isSuccess
))
}
}
...
...
@@ -633,15 +634,23 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
* 打印結賬單
*/
private
fun
printOrderClosing
(
dataBean
:
OrderDetails
.
DataBean
,
listener
:
(
Int
,
Boolean
)
->
Unit
)
{
TakeawayOrder
.
getInstance
().
shoppingCart
.
dataBean
=
dataBean
TakeawayOrder
.
getInstance
().
shoppingCart
.
deliveryAndPickupData
=
dataBean
var
contentAdapter
:
PrintContentAd
=
PrintContent
()
var
PrintContent
=
contentAdapter
.
adaptationPrintTakeawayFormContent
(
TakeawayOrder
.
getInstance
().
shoppingCart
.
deliveryAndPickupData
)
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_OTHER_CLOSING
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_CONTENT
,
PrintContent
)
.
build
()
.
callAsyncCallbackOnMainThread
{
_
,
result
->
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
ataBean
=
null
TakeawayOrder
.
getInstance
().
shoppingCart
.
d
eliveryAndPickupData
=
null
listener
.
invoke
(
PrintCode
,
result
.
isSuccess
)
}
}
/**
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/SendOrderActivity.java
View file @
fb2f2dca
...
...
@@ -16,7 +16,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
fb2f2dca
...
...
@@ -14,7 +14,6 @@ import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -42,7 +41,7 @@ public class ShoppingCart {
/**
* 外送/自取 的訂單數據
*/
protected
OrderDetails
.
DataBean
d
ataBean
;
protected
OrderDetails
.
DataBean
d
eliveryAndPickupData
;
/**
* 商品列表
*/
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCartNumberChange.java
View file @
fb2f2dca
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
cart
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
View file @
fb2f2dca
...
...
@@ -9,7 +9,6 @@ import com.gingersoft.gsa.cloud.database.bean.Discount;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
print-module/src/main/java/com/joe/print/mvp/model/bean/HtmlLable.java
View file @
fb2f2dca
...
...
@@ -34,15 +34,32 @@ public class HtmlLable {
this
.
attributesList
=
attributes
;
}
public
HtmlLable
(
String
value
,
HtmlLable
.
Attributes
...
attributes
)
{
this
.
value
=
value
;
this
.
attributesList
=
attributes
;
}
@Data
public
static
final
class
Attributes
{
private
String
attributesName
;
private
String
attributesVaule
;
/**
* 值類型:
* 0:自身類型 如1=int型
* 1:字符串 有時間1可能為字符串類型
*/
private
byte
valueType
=
0
;
public
Attributes
(
String
attributesName
,
String
attributesVaule
)
{
this
.
attributesName
=
attributesName
;
this
.
attributesVaule
=
attributesVaule
;
}
public
Attributes
(
String
attributesName
,
String
attributesVaule
,
byte
valueType
)
{
this
.
attributesName
=
attributesName
;
this
.
attributesVaule
=
attributesVaule
;
this
.
valueType
=
valueType
;
}
}
}
print-module/src/main/java/com/joe/print/mvp/model/bean/PrintBillBean.java
deleted
100644 → 0
View file @
922cde77
package
com
.
joe
.
print
.
mvp
.
model
.
bean
;
public
class
PrintBillBean
{
public
PrintBillBean
(
String
billName
,
String
billAmount
)
{
this
.
billName
=
billName
;
this
.
billAmount
=
billAmount
;
}
private
String
billName
;
private
String
billAmount
;
public
String
getBillName
()
{
return
billName
;
}
public
void
setBillName
(
String
billName
)
{
this
.
billName
=
billName
;
}
public
String
getBillAmount
()
{
return
billAmount
;
}
public
void
setBillAmount
(
String
billAmount
)
{
this
.
billAmount
=
billAmount
;
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
View file @
fb2f2dca
...
...
@@ -9,7 +9,6 @@ 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.PayMethod
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
...
...
@@ -20,7 +19,6 @@ 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.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintCleanMachine.java
View file @
fb2f2dca
...
...
@@ -4,6 +4,7 @@ import android.content.Context;
import
android.graphics.Bitmap
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.account.restaurant.ResturantInfoManager
;
import
com.gingersoft.gsa.cloud.account.user.UserContext
;
import
com.gingersoft.gsa.cloud.base.common.bean.PayMethod
;
...
...
@@ -15,10 +16,12 @@ import com.gingersoft.gsa.cloud.constans.AppConstans;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.print.bean.PrintCleanMachineContent
;
import
com.joe.print.mvp.model.bean.HtmlLable
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
ATTRIBUTES_ALIGN
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
ATTRIBUTES_OFFSET
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
LABLE_COLUMN
;
...
...
@@ -102,15 +105,15 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
}
private
String
getHtmlHeadInfo
()
{
HtmlLable
[]
htmlLables
=
new
HtmlLable
[
7
]
;
htmlLables
[
0
]
=
new
HtmlLable
(
LABLE_P
,
"上次清機時間:"
+
mCleanMachineContent
.
getRestaurantOperation
().
getOperationTime
(
));
htmlLables
[
1
]
=
new
HtmlLable
(
LABLE_P
,
"品牌名稱:"
+
ResturantInfoManager
.
newInstance
().
getBrandName
(
));
htmlLables
[
2
]
=
new
HtmlLable
(
LABLE_P
,
"店鋪名稱:"
+
ResturantInfoManager
.
newInstance
().
getRestaurantName
(
));
htmlLables
[
3
]
=
new
HtmlLable
(
LABLE_P
,
"每日營業報表"
);
htmlLables
[
4
]
=
new
HtmlLable
(
LABLE_P
,
"由營業日期:"
+
mCleanMachineContent
.
getStartTime
(
));
htmlLables
[
5
]
=
new
HtmlLable
(
LABLE_P
,
"到營業日期:"
+
mCleanMachineContent
.
getCurrentTime
(
));
htmlLables
[
6
]
=
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
);
return
getHtmlLables
(
htmlLables
);
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>()
;
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"上次清機時間:"
+
mCleanMachineContent
.
getRestaurantOperation
().
getOperationTime
()
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"品牌名稱:"
+
ResturantInfoManager
.
newInstance
().
getBrandName
()
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"店鋪名稱:"
+
ResturantInfoManager
.
newInstance
().
getRestaurantName
()
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"每日營業報表"
)
);
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"由營業日期:"
+
mCleanMachineContent
.
getStartTime
()
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"到營業日期:"
+
mCleanMachineContent
.
getCurrentTime
()
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
)
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()])
);
}
private
String
getHtmlBusinessTotal
()
{
...
...
@@ -150,8 +153,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
}
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
/**
...
...
@@ -180,8 +182,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
}
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
/**
...
...
@@ -225,8 +226,8 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables
2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()])
);
}
/**
...
...
@@ -248,8 +249,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
addAll
(
getHtmlBillingStatisticsItem
(
analysisBean
,
voBean
));
}
}
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
private
List
<
HtmlLable
>
getHtmlBillingStatisticsItem
(
SettlementReport
.
AnalysisBean
analysisBean
,
SettlementReport
.
VoBean
voBean
)
{
...
...
@@ -338,8 +338,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
}
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
...
...
@@ -377,8 +376,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
}
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
...
...
@@ -397,9 +395,7 @@ public class PrintCleanMachine extends PrinterRoot<PrintCleanMachineContent> {
htmlLables
.
add
(
new
HtmlLable
(
LABLE_COLUMN
,
items
.
get
(
i
)));
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
}
HtmlLable
[]
htmlLables2
=
(
HtmlLable
[])
htmlLables
.
toArray
();
return
getHtmlLables
(
htmlLables2
);
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintKitchen.java
View file @
fb2f2dca
...
...
@@ -14,7 +14,6 @@ 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.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.joe.print.R
;
import
java.util.ArrayList
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrder.java
View file @
fb2f2dca
...
...
@@ -11,7 +11,8 @@ import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.gingersoft.gsa.cloud.print.bean.PrintTakeawayFormContent
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -21,12 +22,18 @@ import java.util.Map;
/**
* 外送接單,印單 已改新版
*/
public
class
PrintOtherOrder
extends
PrinterRoot
{
public
class
PrintOtherOrder
extends
PrinterRoot
<
PrintTakeawayFormContent
>
{
private
PrintTakeawayFormContent
printTakeawayFormContent
;
@Override
protected
void
setPrintContent
(
PrintTakeawayFormContent
printContent
)
{
this
.
printTakeawayFormContent
=
printContent
;
}
@Override
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getD
ataBean
();
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getD
eliveryAndPickupData
();
if
(
dataBean
!=
null
)
{
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
//廚房單,可能會有多個IP打印
...
...
@@ -49,9 +56,20 @@ public class PrintOtherOrder extends PrinterRoot {
@Override
public
String
[]
getPrintDatas
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
return
null
;
if
(
printTakeawayFormContent
==
null
)
{
return
new
String
[]{
"<html><body></body></html>"
};
}
String
stringBuilder
=
"<html><body>"
+
getTakewayPrintContent
(
printTakeawayFormContent
,
deviceBean
)
+
"</body></html>"
;
String
[]
pritContent
=
new
String
[
1
];
pritContent
[
0
]
=
stringBuilder
;
return
pritContent
;
}
@Override
public
int
getPrintCount
(
Context
context
)
{
return
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
DeliveryPrintCount
,
1
);
...
...
@@ -69,7 +87,7 @@ public class PrintOtherOrder extends PrinterRoot {
layout
.
addView
(
getDiningFoodList
(
mContext
,
OrderDetail
.
productMameBeanToOrderDetail
(
0
,
data
.
getPRODUCT_NAME
()),
deviceBean
,
1
,
true
));
layout
.
addView
(
getLine
(
mContext
));
//訂單金額信息
List
<
PrintBill
Bean
>
billData
=
new
ArrayList
<>();
List
<
PrintBill
Item
>
billData
=
new
ArrayList
<>();
billData
.
add
(
getBillBean
(
"合計:"
,
MONETARY_UNIT
+
MoneyUtil
.
sub
(
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getLunchbox
()),
data
.
getDELIVERY_CHARGE
())));
if
(
data
.
getLunchbox
()
!=
0
)
{
billData
.
add
(
getBillBean
(
"餐盒費:"
,
MONETARY_UNIT
+
data
.
getLunchbox
()));
...
...
@@ -95,8 +113,8 @@ public class PrintOtherOrder extends PrinterRoot {
return
viewToZoomBitmap
(
mContext
,
layout
,
deviceBean
);
}
private
PrintBill
Bean
getBillBean
(
String
title
,
String
value
)
{
return
new
PrintBill
Bean
(
title
,
value
);
private
PrintBill
Item
getBillBean
(
String
title
,
String
value
)
{
return
new
PrintBill
Item
(
title
,
value
);
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrintOtherOrderClosing.java
View file @
fb2f2dca
...
...
@@ -6,6 +6,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
...
...
@@ -18,8 +19,9 @@ 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.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintTakeawayCheckoutContent
;
import
com.joe.print.R
;
import
com.
joe.print.mvp.model.bean.PrintBillBean
;
import
com.
gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
com.joe.print.mvp.ui.adapter.BillItemAdapter
;
import
com.joe.print.mvp.ui.adapter.OtherOrderAdapter
;
...
...
@@ -31,11 +33,19 @@ import java.util.Map;
/**
* 打印外賣接單 結賬單
*/
public
class
PrintOtherOrderClosing
extends
PrinterRoot
{
public
class
PrintOtherOrderClosing
extends
PrinterRoot
<
PrintTakeawayCheckoutContent
>
{
private
PrintTakeawayCheckoutContent
mTakeawayCheckoutContent
;
@Override
protected
void
setPrintContent
(
PrintTakeawayCheckoutContent
printContent
)
{
this
.
mTakeawayCheckoutContent
=
printContent
;
}
@Override
public
Map
<
String
,
List
<
Bitmap
>>
getPrintBitmap
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getD
ataBean
();
OrderDetails
.
DataBean
dataBean
=
TakeawayOrder
.
getInstance
().
getShoppingCart
().
getD
eliveryAndPickupData
();
if
(
dataBean
!=
null
)
{
Map
<
String
,
List
<
Bitmap
>>
bitmapMaps
=
new
HashMap
<>();
List
<
Bitmap
>
bitmaps
=
new
ArrayList
<>();
...
...
@@ -48,12 +58,21 @@ public class PrintOtherOrderClosing extends PrinterRoot {
@Override
public
String
[]
getPrintDatas
(
Context
mContext
,
PrinterDeviceBean
deviceBean
)
{
return
null
;
if
(
mTakeawayCheckoutContent
==
null
)
{
return
new
String
[]{
"<html><body></body></html>"
};
}
String
stringBuilder
=
"<html><body>"
+
getTakewayPrintContent
(
mTakeawayCheckoutContent
,
deviceBean
)
+
"</body></html>"
;
String
[]
pritContent
=
new
String
[
1
];
pritContent
[
0
]
=
stringBuilder
;
return
pritContent
;
}
@Override
public
int
getPrintCount
(
Context
context
)
{
return
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
DeliveryClosingPC
,
1
);
return
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
DeliveryClosingPC
,
1
);
}
private
Bitmap
initPrintView
(
Context
context
,
OrderDetails
.
DataBean
data
,
PrinterDeviceBean
deviceBean
)
{
...
...
@@ -98,7 +117,7 @@ public class PrintOtherOrderClosing extends PrinterRoot {
String
amountUnit
=
context
.
getString
(
R
.
string
.
amount_unit
);
RecyclerView
rvBill
=
view
.
findViewById
(
R
.
id
.
rv_bill
);
List
<
PrintBill
Bean
>
billData
=
new
ArrayList
<>();
List
<
PrintBill
Item
>
billData
=
new
ArrayList
<>();
billData
.
add
(
getBillBean
(
"合計:"
,
amountUnit
+
MoneyUtil
.
sub
(
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getLunchbox
()),
data
.
getDELIVERY_CHARGE
())));
if
(
data
.
getLunchbox
()
!=
0
)
{
billData
.
add
(
getBillBean
(
"餐盒費:"
,
amountUnit
+
data
.
getLunchbox
()));
...
...
@@ -197,7 +216,7 @@ public class PrintOtherOrderClosing extends PrinterRoot {
layout
.
addView
(
getDiningFoodList
(
mContext
,
OrderDetail
.
productMameBeanToOrderDetail
(
1
,
data
.
getPRODUCT_NAME
()),
deviceBean
,
1
,
true
));
layout
.
addView
(
getLine
(
mContext
));
//訂單金額信息
List
<
PrintBill
Bean
>
billData
=
new
ArrayList
<>();
List
<
PrintBill
Item
>
billData
=
new
ArrayList
<>();
billData
.
add
(
getBillBean
(
"合計:"
,
MONETARY_UNIT
+
MoneyUtil
.
sub
(
MoneyUtil
.
sub
(
Double
.
parseDouble
(
data
.
getTOTAL_AMOUNT
()),
data
.
getLunchbox
()),
data
.
getDELIVERY_CHARGE
())));
if
(
data
.
getLunchbox
()
!=
0
)
{
billData
.
add
(
getBillBean
(
"餐盒費:"
,
MONETARY_UNIT
+
data
.
getLunchbox
()));
...
...
@@ -236,8 +255,8 @@ public class PrintOtherOrderClosing extends PrinterRoot {
return
viewToZoomBitmap
(
mContext
,
layout
,
deviceBean
);
}
private
PrintBill
Bean
getBillBean
(
String
title
,
String
value
)
{
return
new
PrintBill
Bean
(
title
,
value
);
private
PrintBill
Item
getBillBean
(
String
title
,
String
value
)
{
return
new
PrintBill
Item
(
title
,
value
);
}
}
\ No newline at end of file
print-module/src/main/java/com/joe/print/mvp/print/PrintPrjKitchen.java
View file @
fb2f2dca
...
...
@@ -197,7 +197,7 @@ public class PrintPrjKitchen extends PrinterRoot {
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"-----------------------------------------------------------------"
));
htmlLables
.
add
(
new
HtmlLable
(
getBrLable
()));
return
getHtmlLables
(
(
HtmlLable
[])
htmlLables
.
toArray
(
));
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]
));
}
private
String
getHtmlKitchenFood
(
List
<
PrjBean
.
DataBean
.
Bean
>
prjBeans
)
{
...
...
@@ -212,7 +212,7 @@ public class PrintPrjKitchen extends PrinterRoot {
}
htmlLables
.
add
(
new
HtmlLable
(
getBrLable
()));
return
getHtmlLables
(
(
HtmlLable
[])
htmlLables
.
toArray
(
));
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]
));
}
private
String
getHtmlEndInfo
(
PrjBean
.
DataBean
.
Bean
prjBean
)
{
...
...
@@ -225,7 +225,7 @@ public class PrintPrjKitchen extends PrinterRoot {
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_prj_page_index
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)));
}
return
getHtmlLables
(
(
HtmlLable
[])
htmlLables
.
toArray
(
));
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]
));
}
@Override
...
...
@@ -411,30 +411,30 @@ public class PrintPrjKitchen extends PrinterRoot {
}
}
private
String
getProductNameByLanguageType
(
PrjBean
.
DataBean
.
Bean
prjBean
)
{
for
(
String
type
:
languageTypes
)
{
String
languageType
=
type
;
if
(
languageType
.
contains
(
"."
))
{
languageType
=
type
.
substring
(
0
,
type
.
indexOf
(
"."
));
}
if
(
languageType
.
equals
(
"2"
))
{
//語言二
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
prjBean
.
getProductName2
()))
{
return
prjBean
.
getProductName2
();
}
}
else
if
(
languageType
.
equals
(
"3"
))
{
//語言三
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
prjBean
.
getProductName3
()))
{
return
prjBean
.
getProductName3
();
}
}
else
{
//語言一或其他
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
prjBean
.
getProductName
()))
{
return
prjBean
.
getProductName
();
}
}
}
}
//
private String getProductNameByLanguageType(PrjBean.DataBean.Bean prjBean) {
//
for (String type : languageTypes) {
//
String languageType = type;
//
if (languageType.contains(".")) {
//
languageType = type.substring(0, type.indexOf("."));
//
}
//
if (languageType.equals("2")) {
//
//語言二
//
if (TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getProductName2())) {
//
return prjBean.getProductName2();
//
}
//
} else if (languageType.equals("3")) {
//
//語言三
//
if (TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getProductName3())) {
//
return prjBean.getProductName3();
//
}
//
} else {
//
//語言一或其他
//
if (TextUtil.isNotEmptyOrNullOrUndefined(prjBean.getProductName())) {
//
return prjBean.getProductName();
//
}
//
}
//
}
//
}
public
static
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
getPrjMap
()
{
if
(
prjMap
==
null
)
{
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintQRCode.java
View file @
fb2f2dca
...
...
@@ -17,6 +17,8 @@ import com.joe.print.mvp.model.bean.HtmlLable;
import
com.joe.print.mvp.print.common.HtmlContract
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -55,8 +57,8 @@ public class PrintQRCode extends PrinterRoot<PrintQRCodeContent> {
}
String
stringBuilder
=
"<html><body>"
+
getHtmlHeadInfo
()
+
getHtmlQRcode
()
+
getHtmlEndInfo
()
getHtmlQRcode
()
//
getHtmlEndInfo()
+
"</body></html>"
;
String
[]
pritContent
=
new
String
[
1
];
pritContent
[
0
]
=
stringBuilder
;
...
...
@@ -64,31 +66,30 @@ public class PrintQRCode extends PrinterRoot<PrintQRCodeContent> {
}
private
String
getHtmlHeadInfo
()
{
HtmlLable
[]
htmlLables
=
{
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintTableName
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)),
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintTableName
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)),
new
HtmlLable
(
getBrLable
())};
return
getHtmlLables
(
htmlLables
);
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintTableName
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
))));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintTopInfo
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
))));
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()]));
}
private
String
getHtmlQRcode
()
{
HtmlLable
[]
htmlLables
=
{
new
HtmlLable
(
getBrLable
()),
new
HtmlLable
(
LABLE_QRCODE
,
mQRCodeBean
.
getPrintQrcode
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)),
new
HtmlLable
(
LABLE_QRCODE
,
mQRCodeBean
.
getPrintQrcode
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_SCALE
,
HtmlContract
.
value_scale_1
,
HtmlContract
.
value_type_string
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)),
new
HtmlLable
(
getBrLable
())};
return
getHtmlLables
(
htmlLables
);
}
private
String
getHtmlEndInfo
()
{
HtmlLable
[]
htmlLables
=
{
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintTime
()),
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintPeopleNum
()),
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintMealEndTime
()),
new
HtmlLable
(
LABLE_P
,
mQRCodeBean
.
getPrintBottonInfo
())}
;
return
getHtmlLables
(
htmlLables
);
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintTime
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintPeopleNum
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintMealEndTime
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
mQRCodeBean
.
getPrintBottonInfo
())))
;
return
getHtmlLables
(
htmlLables
.
toArray
(
new
HtmlLable
[
htmlLables
.
size
()])
);
}
@Override
public
int
getPrintCount
(
Context
context
)
{
return
1
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintSlip.java
View file @
fb2f2dca
...
...
@@ -7,7 +7,6 @@ import android.widget.LinearLayout;
import
com.gingersoft.gsa.cloud.base.common.bean.BillingBean
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintUtils.java
View file @
fb2f2dca
...
...
@@ -2,6 +2,8 @@ package com.joe.print.mvp.print;
import
android.text.TextUtils
;
import
com.joe.print.mvp.model.bean.HtmlLable
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -13,7 +15,7 @@ public class PrintUtils {
//一行42個 17.5
public
final
static
int
lineLength
=
42
;
p
rivate
static
int
foodNameSpace
=
20
;
p
ublic
static
int
foodNameSpace
=
20
;
private
static
int
foodNumSpace
=
8
;
private
static
int
foodAmountSpace
=
12
;
public
final
static
double
BBPOS_Chinese_Length
=
2.4
;
...
...
@@ -23,6 +25,7 @@ public class PrintUtils {
private
static
final
int
food_width_percentage
=
60
;
private
static
final
int
num_and_amount_percentage
=
40
;
/**
* @param content 要顯示的內容
* @param maxLength 字符串最大長度
...
...
@@ -217,16 +220,5 @@ public class PrintUtils {
}
}
/**
* 獲取BBPos食品行打印信息
* @param name1s
* @param name2s
* @param name3s
* @return
*/
public
static
String
getBBPosFoodLineString
(
List
<
String
>
name1s
,
List
<
String
>
name2s
,
List
<
String
>
name3s
){
}
}
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
fb2f2dca
...
...
@@ -39,6 +39,7 @@ import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import
com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager
;
import
com.gingersoft.gsa.cloud.base.utils.AidlUtil
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.StringUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.view.ImageUtils
;
...
...
@@ -51,9 +52,11 @@ import com.gingersoft.gsa.cloud.print.PrintExecutor;
import
com.gingersoft.gsa.cloud.print.PrintSocketHolder
;
import
com.gingersoft.gsa.cloud.print.PrinterWriter58mm
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintCleanMachineContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintQRCodeContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintTakeawayCheckoutContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintTakeawayFormContent
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintPayTypeItem
;
import
com.google.zxing.WriterException
;
import
com.hyweb.n5.lib.constant.PrinterConstant
;
import
com.hyweb.n5.lib.util.PrinterUtil
;
...
...
@@ -61,7 +64,8 @@ import com.hyweb.n5.server.aidl.IOnPrintCallback;
import
com.jess.arms.integration.AppManager
;
import
com.joe.print.R
;
import
com.joe.print.mvp.model.bean.HtmlLable
;
import
com.joe.print.mvp.model.bean.PrintBillBean
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
com.joe.print.mvp.print.common.HtmlContract
;
import
com.joe.print.mvp.print.common.PrinterFinderCallback
;
import
com.joe.print.mvp.print.common.SendResultCode
;
import
com.joe.print.mvp.print.usb.EscCommand
;
...
...
@@ -83,6 +87,11 @@ import javax.inject.Inject;
import
lombok.Getter
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
LABLE_H2
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
LABLE_H3
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
LABLE_H4
;
import
static
com
.
joe
.
print
.
mvp
.
print
.
common
.
HtmlContract
.
LABLE_P
;
@Getter
public
abstract
class
PrinterRoot
<
T
extends
PrintContent
>
implements
PrintSocketHolder
.
OnStateChangedListener
,
PrintExecutor
.
OnPrintResultListener
,
ReceiveListener
{
...
...
@@ -120,7 +129,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
}
/**
* 需要打印
的實體
類 需要重寫這個方法
* 需要打印
實體的
類 需要重寫這個方法
*
* @param printContent
*/
...
...
@@ -204,7 +213,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
/**
* 本機打印
*/
public
void
locationPrint
(
List
<
Bitmap
>
bitmaps
,
String
[]
BBPosPrintDatas
,
PrintListener
listener
)
{
public
void
locationPrint
(
List
<
Bitmap
>
bitmaps
,
String
[]
BBPosPrintDatas
,
PrintListener
listener
)
{
//本機打印
String
model
=
Build
.
MODEL
;
if
(
PrintConstans
.
PRINT_MODEL_V2
.
contains
(
model
))
{
...
...
@@ -704,7 +713,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
return
view
;
}
protected
View
getTakeawayBillInfoView
(
Context
mContext
,
List
<
PrintBill
Bean
>
data
)
{
protected
View
getTakeawayBillInfoView
(
Context
mContext
,
List
<
PrintBill
Item
>
data
)
{
return
getVerticalRecyclerView
(
mContext
,
new
BillItemAdapter
(
data
));
}
...
...
@@ -988,11 +997,167 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
return
PrintUtils
.
getLineString
(
name1
,
name2
,
name3
,
PrintUtils
.
BBPOS_Chinese_Length
);
}
private
static
final
String
font_size_total_amount
=
"48"
;
private
static
final
String
font_size_pay_type
=
"48"
;
private
static
final
String
font_size_pay_amuount
=
"48"
;
private
static
final
String
font_size_integral
=
"48"
;
protected
String
getTakewayPrintContent
(
PrintTakeawayFormContent
printContent
,
PrinterDeviceBean
deviceBean
)
{
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
/**
* 頭部
*/
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getBrand
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
))));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getResturantName
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
))));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------外送------------------------------"
));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_H3
,
printContent
.
getPayType
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_ALIGN
,
HtmlContract
.
value_align_center
)));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_H4
,
printContent
.
getDeliveryTime
()));
/**
* 訂單信息
*/
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------------------------------------"
));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getOrderNumber
())));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_H2
,
printContent
.
getBillNumber
()));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getBillingTime
())));
/**
* 食品信息
*/
htmlLables
.
addAll
(
getBBPosFoodLineString
(
printContent
.
getFoodItemList
(),
deviceBean
));
/**
* 總金額,支付信息
*/
//賬單項(合計,送貨費)
List
<
PrintBillItem
>
billItemList
=
printContent
.
getBillItemList
();
for
(
PrintBillItem
billItem
:
billItemList
)
{
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
billItem
.
getBillName
()),
new
HtmlLable
(
billItem
.
getBillAmount
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
))));
}
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------------------------------------"
));
//總金額
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getTotalAmountText
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_total_amount
)),
new
HtmlLable
(
printContent
.
getTotalAmount
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_total_amount
))));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------------------------------------"
));
if
(
printContent
instanceof
PrintTakeawayCheckoutContent
)
{
//TODO 外送結賬有支付方式
PrintTakeawayCheckoutContent
takeawayCheckoutContent
=
(
PrintTakeawayCheckoutContent
)
printContent
;
//支付方式
List
<
PrintPayTypeItem
>
payTypeList
=
takeawayCheckoutContent
.
getPayTypeList
();
for
(
PrintPayTypeItem
payTypeItem
:
payTypeList
)
{
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
payTypeItem
.
getPayName
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_pay_type
)),
new
HtmlLable
(
payTypeItem
.
getPayAmount
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_pay_type
))));
}
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------------------------------------"
));
}
//支付金額
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getPayAmountText
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_pay_amuount
)),
new
HtmlLable
(
printContent
.
getPayAmount
(),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_FONT_SIZE
,
font_size_pay_amuount
))));
htmlLables
.
add
(
new
HtmlLable
(
LABLE_P
,
"---------------------------------------------------------------"
));
/**
* 會員積分
*/
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberName
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberNumber
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberPhone
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberOldPoints
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberAddPoints
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getMemberNowPoints
())));
/**
* 配送信息
*/
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getAdress
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getReceiver
())));
htmlLables
.
addAll
(
getRowInformation
(
new
HtmlLable
(
printContent
.
getPhone
())));
return
getHtmlLables
((
HtmlLable
[])
htmlLables
.
toArray
());
}
/**
* BBPos公共的食品行打印信息拼裝
*
* @param foodItemList
* @return
*/
protected
List
<
HtmlLable
>
getBBPosFoodLineString
(
List
<
PrintFoodItem
>
foodItemList
,
PrinterDeviceBean
printerDeviceBean
)
{
int
foodFontSize
=
24
;
int
modifierFontSize
=
24
;
int
foodIsBold
=
printerDeviceBean
.
getFoodIsBold
();
int
modifierIsBold
=
printerDeviceBean
.
getModifierIsBold
();
int
foodIsItalic
=
printerDeviceBean
.
getFoodIsItalic
();
int
modifierIsItalic
=
printerDeviceBean
.
getModifierIsItalic
();
try
{
foodFontSize
=
Integer
.
parseInt
(
printerDeviceBean
.
getFoodFont
())
*
2
;
modifierFontSize
=
Integer
.
parseInt
(
printerDeviceBean
.
getModifierFont
())
*
2
;
}
catch
(
NumberFormatException
e
)
{
e
.
printStackTrace
();
}
List
<
String
>
nameList
=
new
ArrayList
<>();
List
<
Integer
>
numList
=
new
ArrayList
<>();
List
<
Double
>
priceList
=
new
ArrayList
<>();
List
<
Integer
>
itemTypes
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
foodItemList
.
size
();
i
++)
{
PrintFoodItem
foodItem
=
foodItemList
.
get
(
i
);
nameList
.
add
(
foodItem
.
getName
());
numList
.
add
(
foodItem
.
getNum
());
priceList
.
add
(
foodItem
.
getPrice
());
itemTypes
.
add
(
foodItem
.
getItemType
());
}
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
nameList
.
size
();
i
++)
{
String
name
=
nameList
.
get
(
i
);
int
num
=
0
;
double
price
=
-
9999
;
if
(
numList
.
size
()
>
(
i
+
1
))
{
num
=
numList
.
get
(
i
);
}
if
(
priceList
.
size
()
>
(
i
+
1
))
{
price
=
priceList
.
get
(
i
);
}
List
<
String
>
name1s
=
PrintUtils
.
getFormatList
(
name
,
PrintUtils
.
foodNameSpace
,
PrintUtils
.
BBPOS_Chinese_Length
);
if
(
name1s
.
size
()
>
1
)
{
//食品名需要獨佔一行,甚至換行顯示
//需要佔用的行數
int
lines
=
name1s
.
size
()
/
2
;
if
(
lines
>
1
)
{
//大於一行
for
(
int
j
=
0
;
j
<
lines
;
j
++)
{
htmlLables
.
addAll
(
getRowFoodInformation
(
name
));
}
htmlLables
.
addAll
(
getRowFoodInformation
(
num
,
price
));
}
else
{
//一行
htmlLables
.
addAll
(
getRowFoodInformation
(
name
));
htmlLables
.
addAll
(
getRowFoodInformation
(
num
,
price
));
}
}
else
{
htmlLables
.
addAll
(
getRowFoodInformation
(
name
,
num
,
price
));
}
}
return
htmlLables
;
}
protected
String
getHtmlLables
(
HtmlLable
...
lables
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
for
(
HtmlLable
lable
:
lables
)
{
if
(
TextUtils
.
isEmpty
(
lable
.
getValue
())
&&
lable
.
getAttributesList
()
==
null
)
{
//
沒有標籤屬性 一般為
<row>,<br>標籤直接追加即可
if
(
lable
.
getLablename
().
contains
(
"row"
)
||
lable
.
getLablename
().
contains
(
"br"
)
)
{
//<row>,<br>標籤直接追加即可
stringBuilder
.
append
(
lable
.
getLablename
());
continue
;
}
...
...
@@ -1008,12 +1173,94 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
protected
String
traverseAttributes
(
HtmlLable
.
Attributes
[]
attributesMap
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
for
(
HtmlLable
.
Attributes
attributes
:
attributesMap
)
{
stringBuilder
.
append
(
" "
+
attributes
.
getAttributesName
()
+
"="
);
stringBuilder
.
append
(
attributes
.
getAttributesVaule
());
stringBuilder
.
append
(
" "
);
stringBuilder
.
append
(
attributes
.
getAttributesName
());
stringBuilder
.
append
(
"="
);
String
attributesVaule
=
attributes
.
getAttributesVaule
();
if
(
attributes
.
getValueType
()
==
HtmlContract
.
value_type_string
)
{
stringBuilder
.
append
(
"\""
+
attributes
.
getAttributesVaule
()
+
"\""
);
}
else
{
if
(
StringUtils
.
isNumeric
(
attributesVaule
))
{
stringBuilder
.
append
(
attributes
.
getAttributesVaule
());
}
else
{
stringBuilder
.
append
(
"\""
+
attributes
.
getAttributesVaule
()
+
"\""
);
}
}
}
return
stringBuilder
.
toString
();
}
/**
* 獲取一行信息,多個column
*
* @param lables
* @return
*/
protected
List
<
HtmlLable
>
getRowInformation
(
HtmlLable
...
lables
)
{
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
add
(
new
HtmlLable
(
getRowLableStart
()));
if
(
lables
!=
null
)
{
for
(
HtmlLable
lable
:
lables
)
{
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
lable
.
getValue
(),
lable
.
getAttributesList
()));
}
}
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
return
htmlLables
;
}
/**
* 獲取一行食品信息(食品名稱)
*
* @param name
* @return
*/
private
List
<
HtmlLable
>
getRowFoodInformation
(
String
name
)
{
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
add
(
new
HtmlLable
(
getRowLableStart
()));
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
name
));
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
return
htmlLables
;
}
/**
* 獲取一行食品信息(數量,金額)
*
* @param num
* @param amount
* @return
*/
private
List
<
HtmlLable
>
getRowFoodInformation
(
int
num
,
double
amount
)
{
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
add
(
new
HtmlLable
(
getRowLableStart
()));
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
String
.
valueOf
(
num
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_percentage_foodNum
)));
if
(
amount
!=
-
9999
)
{
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
String
.
valueOf
(
amount
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
)));
}
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
return
htmlLables
;
}
/**
* 獲取一行食品信息(食品名稱,數量,金額)
*
* @param name
* @param num
* @param amount
* @return
*/
private
List
<
HtmlLable
>
getRowFoodInformation
(
String
name
,
int
num
,
double
amount
)
{
List
<
HtmlLable
>
htmlLables
=
new
ArrayList
<>();
htmlLables
.
add
(
new
HtmlLable
(
getRowLableStart
()));
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
name
));
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
String
.
valueOf
(
num
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_percentage_foodNum
)));
if
(
amount
!=
-
9999
)
{
htmlLables
.
add
(
new
HtmlLable
(
HtmlContract
.
LABLE_COLUMN
,
String
.
valueOf
(
amount
),
new
HtmlLable
.
Attributes
(
HtmlContract
.
ATTRIBUTES_OFFSET
,
HtmlContract
.
value_offset_last
)));
}
htmlLables
.
add
(
new
HtmlLable
(
getRowLableEnd
()));
return
htmlLables
;
}
protected
String
getRowLableStart
()
{
return
"<row>"
;
}
...
...
@@ -1022,7 +1269,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
return
"</row>\n"
;
}
protected
String
getRowLableStart
(
HtmlLable
.
Attributes
...
attributes
)
{
protected
String
getRowLableStart
(
HtmlLable
.
Attributes
...
attributes
)
{
return
"<row "
+
traverseAttributes
(
attributes
)
+
">"
;
}
...
...
print-module/src/main/java/com/joe/print/mvp/print/common/HtmlContract.java
View file @
fb2f2dca
...
...
@@ -8,6 +8,9 @@ package com.joe.print.mvp.print.common;
*/
public
class
HtmlContract
{
public
static
final
String
LABLE_H2
=
"h2"
;
public
static
final
String
LABLE_H3
=
"h3"
;
public
static
final
String
LABLE_H4
=
"h4"
;
public
static
final
String
LABLE_BR
=
"br"
;
public
static
final
String
LABLE_DIV
=
"div"
;
public
static
final
String
LABLE_P
=
"p"
;
...
...
@@ -30,7 +33,15 @@ public class HtmlContract {
public
static
final
String
value_offset_percentage30
=
"0.3"
;
public
static
final
String
value_offset_percentage35
=
"0.35"
;
public
static
final
String
value_offset_percentage20
=
"0.2"
;
public
static
final
String
value_offset_percentage_foodNum
=
"0.6"
;
public
static
final
String
value_scale_1
=
"1"
;
public
static
final
String
value_align_center
=
"center"
;
public
static
final
String
value_align_right
=
"right"
;
public
static
final
byte
value_type_default
=
0
;
public
static
final
byte
value_type_string
=
1
;
}
print-module/src/main/java/com/joe/print/mvp/print/utils/BBposPrint.java
View file @
fb2f2dca
...
...
@@ -41,7 +41,7 @@ public class BBposPrint {
public
void
onNext
(
String
s
)
{
analysisPrintResult
(
s
,
wiseposBean
,
listener
);
}
// HTML不完整,请确保转义特殊字符
@Override
public
void
onError
(
Throwable
e
)
{
e
.
printStackTrace
();
...
...
print-module/src/main/java/com/joe/print/mvp/ui/adapter/BillItemAdapter.java
View file @
fb2f2dca
...
...
@@ -5,21 +5,21 @@ import androidx.annotation.Nullable;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.joe.print.R
;
import
com.
joe.print.mvp.model.bean.PrintBillBean
;
import
com.
gingersoft.gsa.cloud.print.bean.base.PrintBillItem
;
import
java.util.List
;
/**
* Created by Wyh on 2020/1/16.
*/
public
class
BillItemAdapter
extends
BaseQuickAdapter
<
PrintBill
Bean
,
BaseViewHolder
>
{
public
class
BillItemAdapter
extends
BaseQuickAdapter
<
PrintBill
Item
,
BaseViewHolder
>
{
public
BillItemAdapter
(
@Nullable
List
<
PrintBill
Bean
>
data
)
{
public
BillItemAdapter
(
@Nullable
List
<
PrintBill
Item
>
data
)
{
super
(
R
.
layout
.
print_bill_adapter_item_bill
,
data
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
PrintBill
Bean
item
)
{
protected
void
convert
(
BaseViewHolder
helper
,
PrintBill
Item
item
)
{
helper
.
setText
(
R
.
id
.
print_bill_name
,
item
.
getBillName
());
helper
.
setText
(
R
.
id
.
print_bill_value
,
item
.
getBillAmount
());
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/FineItemAllPresenter.java
View file @
fb2f2dca
...
...
@@ -6,7 +6,6 @@ import android.content.Context;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
fb2f2dca
...
...
@@ -150,7 +150,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
String
payRequest
=
GsonUtils
.
GsonString
(
getOrderPayRequest
(
orderPayView
));
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
payRequest
);
String
json
=
GsonUtils
.
GsonString
(
payRequest
);
mModel
.
toOrderPay
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
fb2f2dca
...
...
@@ -43,7 +43,6 @@ import com.gingersoft.gsa.cloud.database.bean.Function;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.function.FunctionManager
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.base.DefaultAdapter
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment