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
11a0c395
Commit
11a0c395
authored
Jan 30, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
打印日志补全 日志上传接口调整为HKTest 餐台模式子项排序条件新增CreateTime
parent
7678dfd3
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
141 additions
and
307 deletions
+141
-307
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
+1
-1
component-print/src/main/java/com/joe/print/mvp/print/service/PrjService.java
+58
-187
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+0
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/CancelFoodDialog.java
+28
-65
component-table/src/main/res/layout/table_dialog_cancel_food.xml
+14
-5
config.gradle
+2
-2
library-common/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
+1
-1
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/LoganConfig.java
+7
-13
library-common/src/main/java/com/gingersoft/gsa/cloud/common/constans/HttpsConstans.java
+1
-1
library-common/src/main/java/com/gingersoft/gsa/cloud/common/logan/LoganManager.java
+3
-3
library-common/src/main/java/com/gingersoft/gsa/cloud/common/printer/PrinterFileUtils.java
+19
-19
library-database/src/main/java/com/gingersoft/gsa/cloud/database/utils/ComboItemDaoUtils.java
+1
-1
library-print/src/main/java/com/gingersoft/gsa/cloud/print/PrintSocketHolder.java
+6
-6
library-print/src/main/java/com/gingersoft/gsa/cloud/print/newprint/PrintUtil.java
+0
-2
No files found.
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
View file @
11a0c395
...
...
@@ -236,9 +236,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_password
,
"修改密碼"
));
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_setting
,
"設置"
));
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_setting
,
"查看日誌"
));
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_setting
,
"上傳日誌"
));
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_setting
,
"切換環境"
));
}
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_setting
,
"上傳日誌"
));
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_settlement_report
,
"清機"
));
if
(
AppDevices
.
isHywebPos
())
{
mainSideMenuBeans
.
add
(
new
MainSideMenuBean
(
R
.
drawable
.
ic_settlement_report
,
"N5清機"
));
...
...
component-print/src/main/java/com/joe/print/mvp/print/service/PrjService.java
View file @
11a0c395
...
...
@@ -16,6 +16,7 @@ import com.epson.epos2.Epos2Exception;
import
com.epson.epos2.printer.Printer
;
import
com.epson.epos2.printer.PrinterStatusInfo
;
import
com.epson.epos2.printer.ReceiveListener
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
...
...
@@ -41,6 +42,7 @@ import com.gingersoft.gsa.cloud.print.bean.UpdateBean;
import
com.hyweb.n5.lib.constant.PrinterConstant
;
import
com.hyweb.n5.lib.util.PrinterUtil
;
import
com.hyweb.n5.server.aidl.IOnPrintCallback
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.joe.print.mvp.print.PrintPrjKitchen
;
import
com.joe.print.mvp.print.PrinterRoot
;
import
com.joe.print.mvp.print.common.PrinterFinderCallback
;
...
...
@@ -52,6 +54,8 @@ import com.joe.print.mvp.print.usb.UsbPrinter;
import
com.joe.print.mvp.print.usb.UsbPrinterFinder
;
import
com.joe.print.mvp.print.utils.MyPrintUtils
;
import
com.sunmi.peripheral.printer.InnerResultCallbcak
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
com.xuexiang.rxutil2.rxjava.task.RxIOTask
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
...
...
@@ -72,6 +76,7 @@ import io.reactivex.Observable;
import
io.reactivex.Observer
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
jcifs.smb.SmbFile
;
import
jcifs.smb.SmbFileOutputStream
;
...
...
@@ -91,16 +96,14 @@ public class PrjService extends Service implements ReceiveListener {
// private static final String TAG = PrjService.class.getSimpleName();
private
Disposable
d
isposable
;
private
Disposable
pollD
isposable
;
private
Disposable
wakeDisposable
;
private
List
<
PrinterDeviceBean
>
printerDeviceBeans
;
private
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
// private Map<String, List<PrjBean.DataBean.Bean>> listMap = new HashMap<>();
private
List
<
PrintCurrencyBean
>
printCurrencyBeans
;
//通用打印配置
private
Context
mContext
;
private
String
TAG
=
"Prj"
;
@Override
public
void
onCreate
()
{
super
.
onCreate
();
...
...
@@ -113,12 +116,19 @@ public class PrjService extends Service implements ReceiveListener {
public
int
onStartCommand
(
Intent
intent
,
int
flags
,
int
startId
)
{
mContext
=
this
;
LoganManager
.
w_printer
(
TAG
,
"onStartCommand"
);
ThreadPoolManager
.
getInstence
().
putExecutableTasks
(()
->
{
LoganManager
.
w_printer
(
TAG
,
"開始請求 PRJ 數據"
);
getPrintList
();
//開始請求
startGetPrjInfo
();
});
RxIOTask
ioTask
=
new
RxIOTask
(
0
)
{
@Override
public
Object
doInIOThread
(
Object
o
)
{
LoganManager
.
w_printer
(
TAG
,
"获取打印設備信息"
);
LoganManager
.
w_printer
(
TAG
,
"currThredName-->"
+
Thread
.
currentThread
().
getName
());
//获取打印設備信息
getPrintList
();
return
null
;
}
};
RxJavaUtils
.
doInIOThread
(
ioTask
);
//開始請求
startGetPrjInfo
();
return
super
.
onStartCommand
(
intent
,
flags
,
startId
);
}
...
...
@@ -172,34 +182,18 @@ public class PrjService extends Service implements ReceiveListener {
*/
private
void
startGetPrjInfo
()
{
cancel
(
wakeDisposable
);
cancel
(
d
isposable
);
cancel
(
pollD
isposable
);
if
(!
UserContext
.
newInstance
().
isLogin
())
{
LoganManager
.
w_printer
(
TAG
,
"用户未登录!"
);
return
;
}
Observable
.
interval
(
10
,
30
,
TimeUnit
.
SECONDS
)
.
subscribe
(
new
Observer
<
Long
>()
{
pollDisposable
=
RxJavaUtils
.
polling
(
10
,
30
,
TimeUnit
.
SECONDS
)
.
subscribe
(
new
Consumer
<
Long
>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
disposable
=
d
;
LoganManager
.
w_printer
(
TAG
,
"startGetPrjInfo onSubscribe"
);
}
@Override
public
void
onNext
(
Long
aLong
)
{
LoganManager
.
w_printer
(
TAG
,
"startGetPrjInfo onNext"
);
public
void
accept
(
Long
aLong
)
throws
Exception
{
LoganManager
.
w_printer
(
TAG
,
"獲取Prj數據-->"
);
getPrjInfo
();
}
@Override
public
void
onError
(
Throwable
e
)
{
LoganManager
.
w_printer
(
TAG
,
"startGetPrjInfo onError:"
+
e
.
getMessage
());
}
@Override
public
void
onComplete
()
{
LoganManager
.
w_printer
(
TAG
,
"startGetPrjInfo onComplete"
);
}
});
}
...
...
@@ -214,51 +208,35 @@ public class PrjService extends Service implements ReceiveListener {
@Override
public
void
onSubscribe
(
Disposable
d
)
{
LoganManager
.
w_printer
(
TAG
,
"
getPrjInfo onSubscrib
e"
);
LoganManager
.
w_printer
(
TAG
,
"
獲取Prj數據 Disposabl
e"
);
}
@Override
public
void
onNext
(
String
prjInfo
)
{
LoganManager
.
w_printer
(
TAG
,
"
getPrjInfo
onNext: "
+
prjInfo
);
LoganManager
.
w_printer
(
TAG
,
"
獲取Prj數據
onNext: "
+
prjInfo
);
//請求到數據,停止輪詢,開始打印,在打印完之後再重新開始輪詢
// startPrint(s);
newPrint
(
prjInfo
);
//開啟另一個定時,三十秒之後自動請求,避免上面的打印成功或失敗時沒有回調。
cancel
(
wakeDisposable
);
Observable
.
timer
(
30
,
TimeUnit
.
SECONDS
)
.
subscribe
(
new
Observ
er
<
Long
>()
{
wakeDisposable
=
RxJavaUtils
.
delay
(
30
,
TimeUnit
.
SECONDS
)
.
subscribe
(
new
Consum
er
<
Long
>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
wakeDisposable
=
d
;
LoganManager
.
w_printer
(
TAG
,
"getPrjInfo timer onSubscribe"
);
}
@Override
public
void
onNext
(
Long
aLong
)
{
LoganManager
.
w_printer
(
TAG
,
"getPrjInfo timer onNext"
);
public
void
accept
(
Long
aLong
)
throws
Exception
{
LoganManager
.
w_printer
(
TAG
,
"輪詢獲取Prj數據-->"
);
startGetPrjInfo
();
}
@Override
public
void
onError
(
Throwable
e
)
{
LoganManager
.
w_printer
(
TAG
,
"getPrjInfo timer onError: "
+
e
.
getMessage
());
}
@Override
public
void
onComplete
()
{
LoganManager
.
w_printer
(
TAG
,
"getPrjInfo timer onComplete"
);
}
});
}
@Override
public
void
onError
(
Throwable
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
getPrjInfo
onError:"
+
e
.
getMessage
());
LoganManager
.
w_printer
(
TAG
,
"
獲取Prj數據
onError:"
+
e
.
getMessage
());
}
@Override
public
void
onComplete
()
{
LoganManager
.
w_printer
(
TAG
,
"
getPrjInfo
onComplete"
);
LoganManager
.
w_printer
(
TAG
,
"
獲取Prj數據
onComplete"
);
}
});
}
...
...
@@ -272,87 +250,6 @@ public class PrjService extends Service implements ReceiveListener {
}
}
private
PrinterRoot
printerInIt
;
private
String
json
=
"{\"success\":true,\"sysTime\":1595066909048,\"data\":{\"K1\":[{\"id\":2461,\"printerDeviceId\":87,\"status\":1,\"orderNo\":\"153201882821850443\",\"orderTime\":2020,\"sender\":\"\",\"person\":0,\"number\":1,\"orderDetailsTime\":\"Jul 10, 2020 11:59:29 AM\",\"orderDetailsId\":48863119,\"productName\":\"紅棗銀耳湯\",\"parentId\":48863115,\"type\":4,\"createTime\":1595066908689,\"productId\":5189,\"requests\":1,\"actualPrinterDeviceId\":87,\"takeFoodCode\":\"H462\",\"billNo\":\"0643\",\"orderType\":7,\"userName\":\"stefan001\"},{\"id\":2461,\"printerDeviceId\":87,\"status\":1,\"orderNo\":\"153201882821850443\",\"orderTime\":2020,\"sender\":\"\",\"person\":0,\"number\":1,\"orderDetailsTime\":\"Jul 10, 2020 11:59:29 AM\",\"orderDetailsId\":48863119,\"productName\":\"紅棗銀耳湯\",\"parentId\":48863115,\"type\":4,\"createTime\":1595066908689,\"productId\":5189,\"requests\":1,\"actualPrinterDeviceId\":87,\"takeFoodCode\":\"H462\",\"billNo\":\"0643\",\"orderType\":7,\"userName\":\"stefan001\"}]}}"
;
/**
* 開始打印
*/
// private void startPrint(String json) {
// printDatas.clear();
// listMap.clear();
// PrjBean prjBean = JsonUtils.parseObject(json, PrjBean.class);
// if (prjBean == null || prjBean.getData() == null) {
// return;
// }
// PrintCurrencyBean printCurrencyBean;
// //有數據,取消輪詢,等待打印結束。
// cancel(disposable);
// try {
// JSONObject jsonObject = new JSONObject(prjBean.getData());
// //通过迭代器获取这段json当中所有的key值
// Iterator keys = jsonObject.keys();
// //然后通过一个循环取出所有的key值
// while (keys.hasNext()) {
// String key = String.valueOf(keys.next());
// //最后就可以通过刚刚得到的key值去解析后面的json了
// JSONArray dataJson = (JSONArray) jsonObject.get(key);
// List<PrjBean.DataBean.Bean> datas = JsonUtils.parseArray(dataJson.toString(), PrjBean.DataBean.Bean.class);
// listMap.put(key, datas);//打印位置和需要打印的數據
// PrintPrjKitchen.getPrjMap().put(key, datas);
// printDatas.addAll(datas);
// }
// } catch (JSONException e) {
// e.printStackTrace();
// }
// if (printerInIt == null) {
// printerInIt = PrinterRoot.getPrinterByType(PRINT_KITCHEN);
// }
// //獲取打印機列表
// getPrintList();
//// for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) {
//// for (PrinterDeviceBean deviceBean : printerDeviceBeans) {
//// if (prjMap.getKey().equalsIgnoreCase(deviceBean.getName())) {
//// if ((deviceBean.getPrinterName() != null && deviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase()))
//// && (deviceBean.getModel() != null && deviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
//// //針式打印
//// //Epson打印機打印,調用對應的方法
//// EpsonPrint mPrinter = EpsonPrint.getInstance();
//// mPrinter.initializeObject(GsaCloudApplication.getAppContext(), this);
//// int paperWidth = 42;
//// if (deviceBean.getPaperSpecification() != null) {
//// paperWidth = (int) (Double.parseDouble(deviceBean.getPaperSpecification()) / 6);
//// }
//// List<List<PrintInfoBean>> prjBeans = PrintInfoBean.transPrjBean(prjMap.getValue(), prjMap.getKey(), deviceBean, printCurrencyBean);
//// for (List<PrintInfoBean> prjPrintBean : prjBeans) {
//// mPrinter.putPrintString(deviceBean.getIp(), paperWidth, prjPrintBean);
//// }
//// }
//// }
//// }
//// }
// if (printerInIt != null) {
// printerInIt.setmContext(this);
// for (Map.Entry<String, List<Bitmap>> entry : printerInIt.getPrintBitmap(this, null).entrySet()) {
// //遍歷所有的需要打印的內容
// for (PrinterDeviceBean deviceBean : printerDeviceBeans) {
// //遍歷打印機列表,找到對應的打印機,沒找到的就不打印
// if (entry.getKey().toLowerCase().equals(deviceBean.getName().toLowerCase())) {
//// if ((deviceBean.getPrinterName() != null && deviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase()))
//// && (deviceBean.getModel() != null && deviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
//// //針式打印機在上面處理
//// } else {
// Log.e(TAG, entry.getKey() + "開始打印IP:" + deviceBean.getIp());
// printerInIt.ipDevicePrint(deviceBean, entry.getValue(), this, this);
// break;
//// }
// }
// }
// }
// }
// }
private
int
totalPrj
;
private
int
currentIndex
;
...
...
@@ -367,7 +264,7 @@ public class PrjService extends Service implements ReceiveListener {
return
;
}
//有數據,取消輪詢,等待打印結束。
cancel
(
d
isposable
);
cancel
(
pollD
isposable
);
//第一步:解析PRJ數據,格式為 Map<廚房位置,需要打印的數據>
try
{
JSONObject
jsonObject
=
new
JSONObject
(
prjBean
.
getData
());
...
...
@@ -408,7 +305,6 @@ public class PrjService extends Service implements ReceiveListener {
}
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
setPrjIndex
(
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
,
int
totalPrj
)
{
LoganManager
.
w_printer
(
TAG
,
"setPrjIndex totalPrj: "
+
totalPrj
);
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
//上一個對象是否切紙
boolean
lastIsCute
=
false
;
...
...
@@ -434,45 +330,7 @@ public class PrjService extends Service implements ReceiveListener {
return
listMap
;
}
private
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
printDataToMap
(
List
<
PrjBean
.
DataBean
.
Bean
>
printData
)
{
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
map
=
new
HashMap
<>();
PrinterDeviceBean
defaultPainter
=
null
;
initPrinterDevices
();
//獲得默認的打印機
for
(
PrinterDeviceBean
printerDeviceBean
:
printerDeviceBeans
)
{
if
(
printerDeviceBean
.
getType
()
==
2
)
{
defaultPainter
=
printerDeviceBean
;
break
;
}
}
//將prj集合通過打印位置轉成map
for
(
PrjBean
.
DataBean
.
Bean
bean
:
printData
)
{
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
bean
.
getPrintPosition
()))
{
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
if
(
defaultPainter
!=
null
)
{
//沒有打印位置的,由默認的位置去打印
bean
.
setPrintPosition
(
defaultPainter
.
getName
());
List
<
PrjBean
.
DataBean
.
Bean
>
mapByKey
=
map
.
get
(
bean
.
getPrintPosition
());
if
(
mapByKey
!=
null
)
{
mapByKey
.
add
(
bean
);
}
else
{
map
.
put
(
bean
.
getPrintPosition
(),
Collections
.
singletonList
(
bean
));
}
}
else
{
ToastUtils
.
show
(
this
,
"未配置打印機"
);
}
}
return
map
;
}
private
void
foreachPrint
(
Map
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
listMap
)
{
LoganManager
.
w_printer
(
TAG
,
"foreachPrint"
);
//雙重遍歷可以以後優化
//第二步:遍歷 Map<廚房位置,需要打印的數據>,通過廚房位置找到對應的打印機,並且通過數據拿到對應的通用配置
for
(
Map
.
Entry
<
String
,
List
<
PrjBean
.
DataBean
.
Bean
>>
prjMap
:
listMap
.
entrySet
())
{
...
...
@@ -494,7 +352,6 @@ public class PrjService extends Service implements ReceiveListener {
}
private
void
initPrinterDevices
()
{
LoganManager
.
w_printer
(
TAG
,
"initPrinterDevices"
);
//讀取打印機和通用配置,可以優化
//獲取所有打印機
PrinterDeviceDaoUtils
printerDeviceDaoUtils
=
new
PrinterDeviceDaoUtils
(
this
);
...
...
@@ -525,9 +382,6 @@ public class PrjService extends Service implements ReceiveListener {
*/
private
void
generatePrintData
(
String
key
,
List
<
PrjBean
.
DataBean
.
Bean
>
beans
,
PrinterDeviceBean
printerDeviceBean
)
{
LoganManager
.
w_printer
(
TAG
,
"generatePrintData PrinterDeviceBean deviceType: "
+
printerDeviceBean
.
getPrinterDeviceType
()
+
" ip: "
+
printerDeviceBean
.
getIp
());
int
orderType
=
1
;
if
(
beans
.
size
()
>
0
)
{
orderType
=
beans
.
get
(
0
).
getOrderType
();
...
...
@@ -537,6 +391,9 @@ public class PrjService extends Service implements ReceiveListener {
if
(
isPinPrinter
(
printerDeviceBean
)
&&
printerDeviceBean
.
getPrinterDeviceType
()
==
PRINT_IP
)
{
//針式打印機並且打印機類型為IP打印,生成獨特的格式
List
<
Map
<
String
,
Bitmap
>>
bitmapMaps
=
generatePrintMaps
(
key
,
beans
,
printerDeviceBean
);
hookPrinterBitmap
(
bitmapMaps
,
beans
);
EpsIds
=
getPrintIds
(
bitmapMaps
);
//第一個參數是機型,第二個參數是語言,
Printer
mPrinter
=
null
;
...
...
@@ -569,13 +426,16 @@ public class PrjService extends Service implements ReceiveListener {
mPrinter
.
clearCommandBuffer
();
}
try
{
PrinterPlugins
.
getOnPrinterFlowHandler
().
connectionBefore
(
"針式打印機"
,
printerDeviceBean
.
getIp
(),
printerDeviceBean
.
getPort
(),
0
,
0
);
mPrinter
.
connect
(
"TCP:"
+
printerDeviceBean
.
getIp
(),
Printer
.
PARAM_DEFAULT
);
mPrinter
.
sendData
(
Printer
.
PARAM_DEFAULT
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
updatePrjFailure
(
getPrintIds
(
bitmapMaps
));
PrinterPlugins
.
getOnPrinterFlowHandler
().
connectionError
(
e
);
while
(
true
)
{
try
{
PrinterPlugins
.
getOnPrinterFlowHandler
().
disconnect
();
mPrinter
.
disconnect
();
break
;
}
catch
(
final
Exception
ex
)
{
...
...
@@ -699,6 +559,7 @@ public class PrjService extends Service implements ReceiveListener {
bitmapMaps
=
generatePrintMaps
(
key
,
beans
,
printerDeviceBean
);
switch
(
printerDeviceBean
.
getPrinterDeviceType
())
{
case
PRINT_IP:
LoganManager
.
w_printer
(
TAG
,
"開始IP打印-->"
);
//IP打印
ipPrint
(
printerDeviceBean
,
bitmapMaps
);
break
;
...
...
@@ -717,16 +578,12 @@ public class PrjService extends Service implements ReceiveListener {
}
}
/**
* ip設備打印
*/
public
void
ipPrint
(
PrinterDeviceBean
printerDeviceBean
,
List
<
Map
<
String
,
Bitmap
>>
bitmapMaps
)
{
LoganManager
.
w_printer
(
TAG
,
"ipPrint: "
+
printerDeviceBean
.
getPrinterDeviceType
()
+
" ip: "
+
printerDeviceBean
.
getIp
());
for
(
int
i
=
0
;
i
<
bitmapMaps
.
size
();
i
++)
{
PrintExecutor
executor
=
new
PrintExecutor
(
printerDeviceBean
);
int
finalI
=
i
;
executor
.
setOnPrjPrintResultListener
((
errorCode
,
ids
)
->
{
switch
(
errorCode
)
{
case
PrintSocketHolder
.
ERROR_0
:
...
...
@@ -738,7 +595,6 @@ public class PrjService extends Service implements ReceiveListener {
break
;
}
});
LoganManager
.
w_printer
(
TAG
,
"ipPrint for doPrinterRequestAsync i:"
+
i
);
PrjPrintMaker
maker
=
new
PrjPrintMaker
(
bitmapMaps
.
get
(
i
));
executor
.
doPrinterRequestAsync
(
maker
);
}
...
...
@@ -787,9 +643,12 @@ public class PrjService extends Service implements ReceiveListener {
public
void
locationPrint
(
List
<
Map
<
String
,
Bitmap
>>
bitmapMaps
)
{
String
model
=
Build
.
MODEL
;
if
(
PrintConstans
.
PRINT_MODEL_V2
.
contains
(
model
))
{
//商米打印
LoganManager
.
w_printer
(
TAG
,
"開始商米打印-->"
);
sunmiPrint
(
bitmapMaps
);
}
else
if
(
PrintConstans
.
PRINT_MODEL_N5
.
contains
(
model
))
{
//N5打印
LoganManager
.
w_printer
(
TAG
,
"開始N5打印-->"
);
n5Print
(
bitmapMaps
);
}
else
if
(
PrintConstans
.
PRINT_MODEL_WISEPOS
.
contains
(
model
))
{
//BBPOS,生成data
...
...
@@ -827,6 +686,7 @@ public class PrjService extends Service implements ReceiveListener {
AidlUtil
.
getInstance
().
printBitmap
(
mapEntry
.
getValue
(),
new
InnerResultCallbcak
()
{
@Override
public
void
onRunResult
(
boolean
isSuccess
)
{
LoganManager
.
w_printer
(
TAG
,
"商米onRunResult: "
+
isSuccess
);
//返回接⼝执⾏的情况(并⾮真实打印):成功或失败
if
(
isSuccess
)
{
updatePrjSuccess
(
ids
);
...
...
@@ -838,16 +698,19 @@ public class PrjService extends Service implements ReceiveListener {
@Override
public
void
onReturnString
(
String
result
)
{
//部分接⼝会异步返回查询数据
LoganManager
.
w_printer
(
TAG
,
"商米onReturnString: "
+
result
);
}
@Override
public
void
onRaiseException
(
int
code
,
String
msg
)
{
//接⼝执⾏失败时,返回的异常状态
LoganManager
.
w_printer
(
TAG
,
"商米onRaiseException: "
+
msg
);
}
@Override
public
void
onPrintResult
(
int
code
,
String
msg
)
{
//事务模式下真实的打印结果返回
LoganManager
.
w_printer
(
TAG
,
"商米onPrintResult: "
+
msg
);
}
});
}
...
...
@@ -868,6 +731,7 @@ public class PrjService extends Service implements ReceiveListener {
PrinterUtil
.
startPrint
(
true
,
new
IOnPrintCallback
.
Stub
()
{
@Override
public
void
onPrintResult
(
int
i
)
{
LoganManager
.
w_printer
(
TAG
,
"N5 onPrintResult: "
+
i
);
if
(
i
==
0
)
{
//打印成功
updatePrjSuccess
(
ids
);
...
...
@@ -879,11 +743,13 @@ public class PrjService extends Service implements ReceiveListener {
@Override
public
IBinder
asBinder
()
{
LoganManager
.
w_printer
(
TAG
,
"N5 asBinder"
);
return
this
;
}
});
}
catch
(
RemoteException
e
)
{
e
.
printStackTrace
();
LoganManager
.
w_printer
(
TAG
,
"N5 RemoteException :"
+
e
.
getLocalizedMessage
());
updatePrjFailure
(
ids
);
}
}
...
...
@@ -924,7 +790,11 @@ public class PrjService extends Service implements ReceiveListener {
map
.
put
(
stringBuffer
.
toString
(),
prjBitmap
);
bitmapMaps
.
add
(
map
);
}
hookPrinterBitmap
(
bitmapMaps
,
beans
);
return
bitmapMaps
;
}
private
void
hookPrinterBitmap
(
List
<
Map
<
String
,
Bitmap
>>
bitmapMaps
,
List
<
PrjBean
.
DataBean
.
Bean
>
beans
)
{
if
(
bitmapMaps
.
size
()
>
0
)
{
String
prjName
=
String
.
valueOf
(
System
.
currentTimeMillis
());
int
orderType
=
1
;
...
...
@@ -949,7 +819,6 @@ public class PrjService extends Service implements ReceiveListener {
}
PrinterPlugins
.
getOnPrinterFlowHandler
().
onPrinterBitmapBefore
(
orderType
,
PrintConstans
.
PRINT_KITCHEN
,
prjName
,
bitmapList
);
}
return
bitmapMaps
;
}
/**
...
...
@@ -1006,7 +875,7 @@ public class PrjService extends Service implements ReceiveListener {
@Override
public
void
onNext
(
String
s
)
{
LoganManager
.
w_printer
(
TAG
,
"
---end---
修改Prj打印狀態---end----: "
+
s
);
LoganManager
.
w_printer
(
TAG
,
"修改Prj打印狀態---end----: "
+
s
);
}
@Override
...
...
@@ -1025,9 +894,11 @@ public class PrjService extends Service implements ReceiveListener {
public
void
onPtrReceive
(
Printer
printer
,
int
i
,
PrinterStatusInfo
printerStatusInfo
,
String
s
)
{
//針式打印回調
if
(
i
==
0
)
{
PrinterPlugins
.
getOnPrinterFlowHandler
().
onPrintSuccess
(
null
);
//打印成功
updatePrjSuccess
(
EpsIds
);
}
else
{
PrinterPlugins
.
getOnPrinterFlowHandler
().
onPrintError
(
i
,
null
);
//打印失敗
updatePrjFailure
(
EpsIds
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
11a0c395
...
...
@@ -87,7 +87,6 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
return
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
);
}
@Override
public
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
ModifierDaoUtils
daoUtils
=
new
ModifierDaoUtils
(
mApplication
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/CancelFoodDialog.java
View file @
11a0c395
...
...
@@ -7,9 +7,11 @@ import android.view.ViewGroup;
import
android.widget.LinearLayout
;
import
android.widget.ProgressBar
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FoodReasonAdapter
;
...
...
@@ -18,6 +20,7 @@ import com.google.android.flexbox.FlexDirection;
import
com.google.android.flexbox.FlexWrap
;
import
com.google.android.flexbox.FlexboxLayoutManager
;
import
com.google.android.flexbox.JustifyContent
;
import
com.google.android.material.slider.Slider
;
import
com.qmuiteam.qmui.layout.QMUILinearLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUIEmptyView
;
...
...
@@ -35,7 +38,7 @@ import java.util.List;
* 修订历史:2020-03-28
* 描述:
*/
public
class
CancelFoodDialog
extends
BaseRetryDialog
implements
QMUISlider
.
Callback
{
public
class
CancelFoodDialog
extends
BaseRetryDialog
implements
Slider
.
OnSliderTouchListener
{
private
static
final
String
TAG
=
"CancelFoodDialog"
;
...
...
@@ -49,11 +52,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
/***
* 可取消最大數
*/
private
int
maxCancelNumber
=
10
;
private
int
m
M
axCancelNumber
=
10
;
/**
* 當前選擇的取消數
*/
private
int
c
ancelNumber
=
1
;
private
int
mCurrC
ancelNumber
=
1
;
/**
* 取消原因數據
*/
...
...
@@ -64,7 +67,7 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
private
QMUITopBar
mTopBar
;
private
QMUIRoundButton
btn_all_number
;
private
QMUI
Slider
slider_food_count
;
private
Slider
slider_food_count
;
private
TextView
tv_number_value
,
tv_max_number
,
tv_min_number
;
private
QMUIEmptyView
mEmptyView
;
...
...
@@ -103,16 +106,16 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
mItems
.
addAll
(
items
);
}
public
void
setMaxCancelNumber
(
int
maxCancelNumber
)
{
this
.
m
axCancelNumber
=
m
axCancelNumber
;
public
void
setMaxCancelNumber
(
int
m
M
axCancelNumber
)
{
this
.
m
MaxCancelNumber
=
mM
axCancelNumber
;
}
public
void
setCancelNumber
(
int
c
ancelNumber
)
{
this
.
cancelNumber
=
c
ancelNumber
;
public
void
setCancelNumber
(
int
mCurrC
ancelNumber
)
{
this
.
mCurrCancelNumber
=
mCurrC
ancelNumber
;
}
public
int
getCancelNumber
()
{
return
c
ancelNumber
;
return
mCurrC
ancelNumber
;
}
public
CancelFoodDialog
build
()
{
...
...
@@ -138,16 +141,14 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
recycle_cancel_info
=
view
.
findViewById
(
R
.
id
.
recycle_cancel_info
);
//設置最大最小取消數
tv_max_number
.
setText
(
String
.
valueOf
(
maxCancelNumber
));
tv_min_number
.
setText
(
String
.
valueOf
(
cancelNumber
));
//設置默認進度
slider_food_count
.
setCurrentProgress
(
getCurrentProgress
(
cancelNumber
));
tv_max_number
.
setText
(
String
.
valueOf
(
mMaxCancelNumber
));
tv_min_number
.
setText
(
String
.
valueOf
(
mCurrCancelNumber
));
slider_food_count
.
setCallback
(
this
);
slider_food_count
.
addOnSliderTouchListener
(
this
);
btn_all_number
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
slider_food_count
.
set
CurrentProgress
(
100
);
slider_food_count
.
set
Value
(
mMaxCancelNumber
);
}
});
ll_container
.
setRadiusAndShadow
(
mRadius
,
QMUIDisplayHelper
.
dp2px
(
mContext
,
mShadowElevationDp
),
mShadowAlpha
);
...
...
@@ -158,9 +159,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
}
public
void
initParmas
()
{
cancelNumber
=
1
;
tv_number_value
.
setText
(
String
.
valueOf
(
cancelNumber
));
slider_food_count
.
setCurrentProgress
(
getCurrentProgress
(
cancelNumber
));
mCurrCancelNumber
=
1
;
tv_number_value
.
setText
(
String
.
valueOf
(
mCurrCancelNumber
));
slider_food_count
.
setValueFrom
(
mCurrCancelNumber
);
slider_food_count
.
setValueTo
(
mMaxCancelNumber
);
slider_food_count
.
setValue
(
mCurrCancelNumber
);
}
private
void
initTopbar
()
{
...
...
@@ -192,20 +195,6 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
return
flexboxLayoutManager
;
}
private
int
getCurrentProgress
(
int
num
)
{
if
(
maxCancelNumber
==
0
)
{
maxCancelNumber
=
10
;
}
int
progress
=
num
*
100
/
maxCancelNumber
;
return
progress
;
}
private
int
getCancelNumberByProgress
(
int
progress
)
{
//這裡默認進度從1開始
float
number
=
(
getCurrentProgress
(
1
)
+
progress
)
*
maxCancelNumber
/
100
;
return
Math
.
round
(
number
);
}
public
void
showEmptyView
(
boolean
isSuccess
,
int
size
,
Throwable
t
)
{
showEmptyView
(
isSuccess
,
size
,
t
,
mEmptyView
,
recycle_cancel_info
);
}
...
...
@@ -228,49 +217,23 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
return
R
.
layout
.
table_dialog_cancel_food
;
}
@Override
public
void
onProgressChange
(
QMUISlider
slider
,
int
progress
,
int
tickCount
,
boolean
fromUser
)
{
if
(
progress
==
0
)
{
cancelNumber
=
1
;
tv_number_value
.
setText
(
String
.
valueOf
(
cancelNumber
));
}
else
if
(
progress
==
100
)
{
cancelNumber
=
maxCancelNumber
;
tv_number_value
.
setText
(
String
.
valueOf
(
cancelNumber
));
}
else
{
cancelNumber
=
getCancelNumberByProgress
(
progress
);
if
(
cancelNumber
==
0
)
{
cancelNumber
=
1
;
}
tv_number_value
.
setText
(
String
.
valueOf
(
cancelNumber
));
}
}
@Override
public
void
onTouchDown
(
QMUISlider
slider
,
int
progress
,
int
tickCount
,
boolean
hitThumb
)
{
}
@Override
public
void
onTouchUp
(
QMUISlider
slider
,
int
progress
,
int
tickCount
)
{
private
OnClickListener
onClickListener
;
public
void
setOnClickListener
(
OnClickListener
onClickListener
)
{
this
.
onClickListener
=
onClickListener
;
}
@Override
public
void
onStartMoving
(
QMUISlider
slider
,
int
progress
,
int
tickCount
)
{
public
void
onStartTrackingTouch
(
@NonNull
Slider
slider
)
{
mCurrCancelNumber
=
1
;
tv_number_value
.
setText
(
String
.
valueOf
(
slider
.
getValue
()));
}
@Override
public
void
onStop
Moving
(
QMUISlider
slider
,
int
progress
,
int
tickCount
)
{
public
void
onStop
TrackingTouch
(
@NonNull
Slider
slider
)
{
}
private
OnClickListener
onClickListener
;
public
void
setOnClickListener
(
OnClickListener
onClickListener
)
{
this
.
onClickListener
=
onClickListener
;
}
public
interface
OnClickListener
{
void
onItemClick
(
FoodReason
item
,
int
position
,
int
deleteNumber
);
}
...
...
component-table/src/main/res/layout/table_dialog_cancel_food.xml
View file @
11a0c395
...
...
@@ -69,11 +69,20 @@
android:layout_margin=
"@dimen/dp_8"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUISlider
android:id=
"@+id/slider_food_count"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:qmui_slider_bar_progress_color=
"@color/theme_color"
/>
<!-- <com.google.android.material.slider.Slider-->
<!-- android:id="@+id/slider_food_count"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- app:qmui_slider_bar_progress_color="@color/theme_color" />-->
<com.google.android.material.slider.Slider
android:id=
"@+id/slider_food_count"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:theme=
"@style/AppTheme"
android:valueFrom=
"0"
android:valueTo=
"11"
android:stepSize=
"1"
/>
<TextView
android:id=
"@+id/tv_min_number"
...
...
config.gradle
View file @
11a0c395
...
...
@@ -7,8 +7,8 @@ ext {
targetSdkVersion
:
29
,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode
:
2
1
,
versionName
:
"1.2.
1
"
versionCode
:
2
2
,
versionName
:
"1.2.
2
"
]
version
=
[
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
View file @
11a0c395
...
...
@@ -348,7 +348,7 @@ public class GsaCloudApplication extends BaseApplication {
@Override
public
void
onPrinterDataBefore
(
int
orderType
,
int
printType
,
String
printerData
,
String
printerDeviceInfo
)
{
LoganManager
.
w_printer
(
TAG
,
"打印前--> printerData="
+
printerData
+
" printerDeviceInfo="
+
printerDeviceInfo
);
LoganManager
.
w_printer
(
TAG
,
"打印前
数据
--> printerData="
+
printerData
+
" printerDeviceInfo="
+
printerDeviceInfo
);
}
@Override
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/LoganConfig.java
View file @
11a0c395
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
config
;
import
com.gingersoft.gsa.cloud.common.constans.HttpsConstans
;
/**
* @author : bin
* @create date: 2020-11-05
...
...
@@ -12,7 +14,7 @@ public class LoganConfig {
public
static
final
String
EncryptKey16
=
"0123456789012345"
;
public
static
final
String
EncryptIV16
=
"0123456789012345"
;
public
static
final
String
APP_ID
=
"gingersoft1008611"
;
public
static
final
String
UPLOAD_LOG_URL
=
"http://192.168.1.131:8080
/logan-web/logan/upload.json"
;
public
static
final
String
UPLOAD_LOG_URL
=
HttpsConstans
.
HTTP_ADDRESS_URL_HK
+
"
/logan-web/logan/upload.json"
;
/**
* 日誌保留天數
...
...
@@ -28,28 +30,20 @@ public class LoganConfig {
*/
public
static
final
byte
NETWORK_LEVLE
=
2
;
/**
* 數據庫日誌
*/
public
static
final
byte
DATABASE_LEVLE
=
3
;
/**
* 用戶行為日誌(頁面跳轉,交互,觸摸反饋等)
*/
public
static
final
byte
ACTION_LEVLE
=
4
;
public
static
final
byte
ACTION_LEVLE
=
3
;
/**
* 崩潰日誌
*/
public
static
final
byte
CRASH_LEVLE
=
5
;
public
static
final
byte
CRASH_LEVLE
=
4
;
/**
* H5日誌
*/
public
static
final
byte
H5_LEVLE
=
6
;
public
static
final
byte
H5_LEVLE
=
5
;
/**
* native日誌
*/
public
static
final
byte
native_LEVLE
=
7
;
public
static
final
byte
native_LEVLE
=
6
;
/**
* 打印模塊相關日誌
*/
public
static
final
byte
PRINTER_LEVLE
=
8
;
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/constans/HttpsConstans.java
View file @
11a0c395
...
...
@@ -36,7 +36,7 @@ public class HttpsConstans {
//--------------------------------------------其他全局----------------------------------------------------------------------------
private
static
String
HTTP_ADDRESS_URL_FORMAL
=
"https://m.ricepon.com:8444"
;
//正式服務器
private
static
String
HTTP_ADDRESS_URL_SZ
=
"http://gingersoft.tpddns.cn:58201"
;
//深圳測試
p
rivate
static
String
HTTP_ADDRESS_URL_HK
=
"http://a.ricepon.com:58201"
;
//香港測試
p
ublic
static
String
HTTP_ADDRESS_URL_HK
=
"http://a.ricepon.com:58201"
;
//香港測試
private
static
String
HTTP_ADDRESS_URL_PRE
=
"http://prf-m.ricepon.com"
;
//預發佈
public
static
String
CLOUD_GSA_API_PATH
=
"/ricepon-cloud-gsa/api/"
;
//雲端GSA路徑
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/logan/LoganManager.java
View file @
11a0c395
...
...
@@ -47,7 +47,7 @@ public class LoganManager {
}
public
static
void
w_database
(
String
TAG
,
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
DATABAS
E_LEVLE
);
Logan
.
w
(
"database-->"
+
log
,
LoganConfig
.
COD
E_LEVLE
);
// Logan.f();
if
(
BuildConfig
.
DEBUG
)
{
printLog
(
TAG
,
log
);
...
...
@@ -62,7 +62,7 @@ public class LoganManager {
}
public
static
void
w_printer
(
String
TAG
,
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
PRINTER
_LEVLE
);
Logan
.
w
(
"printer-->"
+
log
,
LoganConfig
.
CODE
_LEVLE
);
// Logan.f();
printLog
(
TAG
,
log
);
}
...
...
@@ -106,7 +106,7 @@ public class LoganManager {
}
}
});
LoganManager
.
w_code
(
TAG
,
"
upload result, httpCode
: "
+
statusCode
+
", details: "
+
resultData
);
LoganManager
.
w_code
(
TAG
,
"
上傳日誌到服務器
: "
+
statusCode
+
", details: "
+
resultData
);
}
});
}
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/printer/PrinterFileUtils.java
View file @
11a0c395
...
...
@@ -28,7 +28,7 @@ public class PrinterFileUtils {
public
static
final
int
PRINTER_KEEP_FILE_SIZE
=
20
*
1024
*
1024
;
//根目錄
public
static
String
PrinterImagesRootPath
=
"PrinterImages"
;
public
static
final
String
PrinterImagesRootPath
=
"PrinterImages"
;
/**
* 廚房單
* 堂食結賬單
...
...
@@ -39,14 +39,14 @@ public class PrinterFileUtils {
* 外送結賬單
* 清機單
*/
public
static
String
KitchenImage
=
"KitchenImages
"
;
public
static
String
PrintOrderImage
=
"PrintOrderImages
"
;
public
static
String
BillImage
=
"BillImages
"
;
public
static
String
ServingPaperImage
=
"ServingPaperImages
"
;
public
static
String
QrcodeImage
=
"QrcodeImages
"
;
public
static
String
DeliveryPrintOrderImage
=
"DeliveryPrintOrderImages
"
;
public
static
String
DeliveryBillImage
=
"DeliveryBillImages
"
;
public
static
String
SettlementImage
=
"SettlementImages
"
;
public
static
final
String
KitchenImage
=
"廚房單
"
;
public
static
final
String
PrintOrderImage
=
"堂食印單
"
;
public
static
final
String
BillImage
=
"堂食結賬單
"
;
public
static
final
String
ServingPaperImage
=
"上菜紙
"
;
public
static
final
String
QrcodeImage
=
"Qrcode
"
;
public
static
final
String
DeliveryPrintOrderImage
=
"外賣印單
"
;
public
static
final
String
DeliveryBillImage
=
"外賣結賬單
"
;
public
static
final
String
SettlementImage
=
"清機
"
;
public
final
static
String
ROOT_PATH
=
FileUtils
.
ALBUM_PATH
+
PrinterImagesRootPath
+
File
.
separator
;
public
final
static
String
KITCHEN_PRJ_IMAGE_PATH
=
ROOT_PATH
+
KitchenImage
+
File
.
separator
;
...
...
@@ -66,12 +66,12 @@ public class PrinterFileUtils {
if
(
TextUtils
.
isEmpty
(
savePath
))
{
return
null
;
}
LoganManager
.
w_printer
(
TAG
,
"
save path :
"
+
savePath
);
File
file
=
new
File
(
ROOT_PATH
);
if
(
file
!=
null
&&
file
.
exists
())
{
long
FILE_SIZE
=
FileUtils
.
getDirSize
(
file
);
LoganManager
.
w_printer
(
TAG
,
"
保存打印圖片到本地 path =
"
+
savePath
);
File
rootFileDir
=
new
File
(
ROOT_PATH
);
if
(
rootFileDir
!=
null
&&
rootFileDir
.
exists
())
{
long
FILE_SIZE
=
FileUtils
.
getDirSize
(
rootFileDir
);
if
(
FILE_SIZE
>
PRINTER_MAX_FILE_SIZE
)
{
LoganManager
.
w_printer
(
TAG
,
"
delete file before size :
"
+
FILE_SIZE
);
LoganManager
.
w_printer
(
TAG
,
"
刪除本地打印圖片 before size =
"
+
FILE_SIZE
);
//大於100M 就刪除
File
prjPath
=
new
File
(
ROOT_PATH
);
if
(
prjPath
.
isDirectory
())
{
...
...
@@ -80,8 +80,8 @@ public class PrinterFileUtils {
File
prjDirectory
=
prjDirectorys
[
i
];
boolean
deleteResult
=
prjDirectory
.
delete
();
if
(
deleteResult
&&
FILE_SIZE
<=
PRINTER_KEEP_FILE_SIZE
)
{
FILE_SIZE
=
FileUtils
.
get
FileSize
(
ROOT_PATH
);
LoganManager
.
w_printer
(
TAG
,
"
delete file after size :
"
+
FILE_SIZE
);
FILE_SIZE
=
FileUtils
.
get
DirSize
(
rootFileDir
);
LoganManager
.
w_printer
(
TAG
,
"
刪除本地打印圖片 after size =
"
+
FILE_SIZE
);
break
;
}
}
...
...
@@ -90,17 +90,17 @@ public class PrinterFileUtils {
}
for
(
Bitmap
bitmap
:
bitmaps
)
{
String
fileName
=
directoryName
+
"-"
+
System
.
currentTimeMillis
();
LoganManager
.
w_printer
(
TAG
,
"
saveBitmap
fileName : "
+
fileName
);
LoganManager
.
w_printer
(
TAG
,
"fileName : "
+
fileName
);
BitmapUtil
.
saveBitmap
(
bitmap
,
savePath
+
directoryName
+
File
.
separator
,
fileName
+
".jpeg"
,
new
BitmapUtil
.
OnSaveBitmapListener
()
{
@Override
public
void
onSuccess
()
{
LoganManager
.
w_printer
(
TAG
,
"
saveBitmap onSuccess
"
);
LoganManager
.
w_printer
(
TAG
,
"
保存打印圖片成功
"
);
}
@Override
public
void
onError
(
Exception
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
saveBitmap
onError :"
+
e
.
getMessage
());
LoganManager
.
w_printer
(
TAG
,
"
保存打印圖片失敗
onError :"
+
e
.
getMessage
());
}
});
}
...
...
library-database/src/main/java/com/gingersoft/gsa/cloud/database/utils/ComboItemDaoUtils.java
View file @
11a0c395
...
...
@@ -170,7 +170,7 @@ public class ComboItemDaoUtils {
// }
if
(
fid
>
0
)
{
sql
=
sql
+
" where r.FID='"
+
fid
+
"' order by c.SEQ_NO
a
sc"
;
sql
=
sql
+
" where r.FID='"
+
fid
+
"' order by c.SEQ_NO
,f.CREATE_TIME de
sc"
;
}
Cursor
c
=
mManager
.
getDaoSession
().
getFoodDao
().
getDatabase
().
rawQuery
(
sql
,
null
);
while
(
c
.
moveToNext
())
{
...
...
library-print/src/main/java/com/gingersoft/gsa/cloud/print/PrintSocketHolder.java
View file @
11a0c395
...
...
@@ -129,7 +129,7 @@ public class PrintSocketHolder {
out
.
write
(
item
);
out
.
flush
();
}
catch
(
IOException
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
-->
打印异常: "
+
e
.
getMessage
());
LoganManager
.
w_printer
(
TAG
,
"打印异常: "
+
e
.
getMessage
());
closeSocket
();
return
ERROR_4
;
}
...
...
@@ -165,7 +165,7 @@ public class PrintSocketHolder {
}
public
int
prepareSocket
()
{
LoganManager
.
w_printer
(
TAG
,
"
-->
准备尝试连接打印机"
);
LoganManager
.
w_printer
(
TAG
,
"准备尝试连接打印机"
);
int
create
=
createSocket
();
if
(
create
!=
PrintSocketHolder
.
ERROR_0
)
{
return
create
;
...
...
@@ -183,7 +183,7 @@ public class PrintSocketHolder {
* 销毁
*/
public
int
closeSocket
()
{
LoganManager
.
w_printer
(
TAG
,
"
-->
準備关闭打印机连接"
);
LoganManager
.
w_printer
(
TAG
,
"準備关闭打印机连接"
);
onPrinterStateChanged
(
STATE_4
);
boolean
error
=
false
;
try
{
...
...
@@ -192,7 +192,7 @@ public class PrintSocketHolder {
out
=
null
;
}
}
catch
(
IOException
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
-->
关闭打印机连接异常"
);
LoganManager
.
w_printer
(
TAG
,
"关闭打印机连接异常"
);
out
=
null
;
error
=
true
;
}
...
...
@@ -202,7 +202,7 @@ public class PrintSocketHolder {
socket
=
null
;
}
}
catch
(
IOException
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
-->
关闭打印机连接异常"
);
LoganManager
.
w_printer
(
TAG
,
"关闭打印机连接异常"
);
socket
=
null
;
error
=
true
;
}
...
...
@@ -212,7 +212,7 @@ public class PrintSocketHolder {
bluetoothSocket
=
null
;
}
}
catch
(
IOException
e
)
{
LoganManager
.
w_printer
(
TAG
,
"
-->
关闭打印机连接异常"
);
LoganManager
.
w_printer
(
TAG
,
"关闭打印机连接异常"
);
bluetoothSocket
=
null
;
error
=
true
;
}
...
...
library-print/src/main/java/com/gingersoft/gsa/cloud/print/newprint/PrintUtil.java
View file @
11a0c395
...
...
@@ -81,11 +81,9 @@ public class PrintUtil {
private
boolean
sendData
(
List
<
byte
[]>
data
)
{
if
(
holder
.
sendData
(
data
)
==
PrintSocketHolder
.
ERROR_0
)
{
LoganManager
.
w_printer
(
TAG
,
"PrintTask sendData(List<byte[]> data) -------------打印完成------------------>"
);
time
=
0
;
return
true
;
}
else
{
LoganManager
.
w_printer
(
TAG
,
"PrintTask sendData(List<byte[]> data) -------------递归打印------------------>"
);
return
prepareSocket
()
&&
sendData
(
data
);
}
}
...
...
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