Commit 1e5bffbd by Wyh

7.04 修改打印一些數據。登陸頁面,加了billNo

parent 05241d29
...@@ -40,6 +40,21 @@ public class JsonUtils { ...@@ -40,6 +40,21 @@ public class JsonUtils {
} }
/** /**
* json字符串转换bean对象,异常捕捉
*/
public static <T> T parseObject(Object json, Class<T> classOfT) {
try {
if (null == json) {
return null;
}
return JSON.parseObject(JSONObject.toJSONString(json), classOfT);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* object转换List对象,异常捕捉 * object转换List对象,异常捕捉
*/ */
public static <T> List<T> parseArray(Object object, Class<T> classOfT) { public static <T> List<T> parseArray(Object object, Class<T> classOfT) {
......
...@@ -48,7 +48,7 @@ public class OkHttp3Utils { ...@@ -48,7 +48,7 @@ public class OkHttp3Utils {
.connectTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS) .connectTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS)
.readTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS) .readTimeout(GsaCloudApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS)
.addInterceptor(new UserAgentIntercepter()) .addInterceptor(new UserAgentIntercepter())
.addInterceptor(new LoggingInterceptor()) // .addInterceptor(new LoggingInterceptor())
.build(); .build();
} }
......
...@@ -20,51 +20,34 @@ public class PrinterDeviceBean implements Serializable { ...@@ -20,51 +20,34 @@ public class PrinterDeviceBean implements Serializable {
@Property(nameInDb = "_id") @Property(nameInDb = "_id")
@Id(autoincrement = true) @Id(autoincrement = true)
private Long dbid; private Long dbid;
private String name; private String name;
private Integer restaurantId; private Integer restaurantId;
private String ip;//ip private String ip;//ip
private Long uid; private Long uid;
private Integer port;//端口 private Integer port;//端口
// private int type;//打印機紙張類型 為1時是58mm,否則是88mm private Integer type;//2為默認打印機,1為普通打印機
private Integer status;//2為默認打印機,1為普通打印機
private int printerModelId;//打印機機型id private Long printerModelId;//打印機機型id
private String paperSpecification;//紙張規格 private String paperSpecification;//紙張規格
private String printerName;//打印機機型名稱 private String printerName;//打印機機型名稱
private String model;//打印機型號 private String model;//打印機型號
private String noteContent;//備註
private Long printerDeviceDefaultId;
/** /**
* 飛單1打印機id * 飛單1打印機id
*/ */
private Long printerDeviceId; private Long flyPrinterDeviceId;
/** /**
* 飛單2 打印機id * 飛單2 打印機id
*/ */
private Long defaultPrinterDeviceId; private Long flyPrinterDeviceId2;
@Generated(hash = 626885316) @Generated(hash = 626885316)
public PrinterDeviceBean() { public PrinterDeviceBean() {
} }
public PrinterDeviceBean(String name, Long id, Integer restaurantId, String ip, Integer port, int type) { @Generated(hash = 1228354346)
this.name = name; public PrinterDeviceBean(Long id, Long dbid, String name, Integer restaurantId, String ip, Long uid, Integer port, Integer type, Long printerModelId, String paperSpecification, String printerName, String model, String noteContent, Long printerDeviceDefaultId, Long flyPrinterDeviceId, Long flyPrinterDeviceId2) {
this.id = id;
this.restaurantId = restaurantId;
this.ip = ip;
this.port = port;
}
public PrinterDeviceBean(String name, Integer restaurantId, String ip, Integer port, int type) {
this.name = name;
this.restaurantId = restaurantId;
this.ip = ip;
this.port = port;
}
@Generated(hash = 1626972301)
public PrinterDeviceBean(Long id, Long dbid, String name, Integer restaurantId, String ip, Long uid, Integer port, Integer status, int printerModelId, String paperSpecification, String printerName, String model, Long printerDeviceId, Long defaultPrinterDeviceId) {
this.id = id; this.id = id;
this.dbid = dbid; this.dbid = dbid;
this.name = name; this.name = name;
...@@ -72,25 +55,19 @@ public class PrinterDeviceBean implements Serializable { ...@@ -72,25 +55,19 @@ public class PrinterDeviceBean implements Serializable {
this.ip = ip; this.ip = ip;
this.uid = uid; this.uid = uid;
this.port = port; this.port = port;
this.status = status; this.type = type;
this.printerModelId = printerModelId; this.printerModelId = printerModelId;
this.paperSpecification = paperSpecification; this.paperSpecification = paperSpecification;
this.printerName = printerName; this.printerName = printerName;
this.model = model; this.model = model;
this.printerDeviceId = printerDeviceId; this.noteContent = noteContent;
this.defaultPrinterDeviceId = defaultPrinterDeviceId; this.printerDeviceDefaultId = printerDeviceDefaultId;
} this.flyPrinterDeviceId = flyPrinterDeviceId;
this.flyPrinterDeviceId2 = flyPrinterDeviceId2;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }
public Long getId() { public Long getId() {
return this.id; return id;
} }
public void setId(Long id) { public void setId(Long id) {
...@@ -98,74 +75,69 @@ public class PrinterDeviceBean implements Serializable { ...@@ -98,74 +75,69 @@ public class PrinterDeviceBean implements Serializable {
} }
public Long getDbid() { public Long getDbid() {
return this.dbid; return dbid;
} }
public void setDbid(Long dbid) { public void setDbid(Long dbid) {
this.dbid = dbid; this.dbid = dbid;
} }
public Integer getRestaurantId() { public String getName() {
return restaurantId; return name;
} }
public String getIp() { public void setName(String name) {
return this.ip; this.name = name;
} }
public void setIp(String ip) { public Integer getRestaurantId() {
this.ip = ip; return restaurantId;
} }
public Integer getPort() { public void setRestaurantId(Integer restaurantId) {
return this.port; this.restaurantId = restaurantId;
} }
public void setPort(Integer port) { public String getIp() {
this.port = port; return ip;
} }
// public int getType() { public void setIp(String ip) {
// return this.type; this.ip = ip;
// }
//
// public void setType(int type) {
// this.type = type;
// }
public void setRestaurantId(Integer restaurantId) {
this.restaurantId = restaurantId;
} }
public int getStatus() { public Long getUid() {
return this.status; return uid;
} }
public void setStatus(Integer status) { public void setUid(Long uid) {
this.status = status; this.uid = uid;
} }
public Long getPrinterDeviceId() { public Integer getPort() {
return this.printerDeviceId; return port;
} }
public void setPrinterDeviceId(Long printerDeviceId) { public void setPort(Integer port) {
this.printerDeviceId = printerDeviceId; this.port = port;
} }
public Long getDefaultPrinterDeviceId() { public Integer getType() {
return this.defaultPrinterDeviceId; if (type == null) {
return 0;
}
return type;
} }
public void setDefaultPrinterDeviceId(Long defaultPrinterDeviceId) { public void setType(Integer type) {
this.defaultPrinterDeviceId = defaultPrinterDeviceId; this.type = type;
} }
public int getPrinterModelId() { public Long getPrinterModelId() {
return printerModelId; return printerModelId;
} }
public void setPrinterModelId(int printerModelId) { public void setPrinterModelId(Long printerModelId) {
this.printerModelId = printerModelId; this.printerModelId = printerModelId;
} }
...@@ -193,12 +165,35 @@ public class PrinterDeviceBean implements Serializable { ...@@ -193,12 +165,35 @@ public class PrinterDeviceBean implements Serializable {
this.model = model; this.model = model;
} }
public String getNoteContent() {
return noteContent;
}
public Long getUid() { public void setNoteContent(String noteContent) {
return uid; this.noteContent = noteContent;
} }
public void setUid(Long uid) { public Long getFlyPrinterDeviceId() {
this.uid = uid; return flyPrinterDeviceId;
}
public void setFlyPrinterDeviceId(Long flyPrinterDeviceId) {
this.flyPrinterDeviceId = flyPrinterDeviceId;
}
public Long getFlyPrinterDeviceId2() {
return flyPrinterDeviceId2;
}
public void setFlyPrinterDeviceId2(Long flyPrinterDeviceId2) {
this.flyPrinterDeviceId2 = flyPrinterDeviceId2;
}
public Long getPrinterDeviceDefaultId() {
return printerDeviceDefaultId;
}
public void setPrinterDeviceDefaultId(Long printerDeviceDefaultId) {
this.printerDeviceDefaultId = printerDeviceDefaultId;
} }
} }
package com.gingersoft.gsa.cloud.database.bean;
import java.util.List;
public class PrinterListBean {
private int count;
private List<PrinterDeviceBean> list;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public List<PrinterDeviceBean> getList() {
return list;
}
public void setList(List<PrinterDeviceBean> list) {
this.list = list;
}
}
...@@ -68,14 +68,16 @@ class OrderDetails { ...@@ -68,14 +68,16 @@ class OrderDetails {
var ID: Int = 0 var ID: Int = 0
var CREATE_TIME: String? = null var CREATE_TIME: String? = null
var takeFoodCode: String? = null var takeFoodCode: String? = null
var billNo: String? = null
var RECEIVER: String? = null var RECEIVER: String? = null
var TOTAL_AMOUNT: String? = null var TOTAL_AMOUNT: String? = null
//後台不會返回 //後台不會返回
var order_type: Int = 0 var order_type: Int = 0
var orderPayType: Int = 0//1為貨到付款,其他是在線支付 var orderPayType: Int = 0//0店內支付,1為貨到付款,2是在線支付
var isDelete: Int = 1 //默認為1,為0是第三方物流,其他則是本店配送 var isDelete: Int = 1 //默認為1,為0是第三方物流,其他則是本店配送
var payType: Int = 0//1:積分支付;2:支付寶;3:财付通;4:微信支付;5:貨到付款;6:其他支付 var payType: Int = 0//1:積分支付;2:支付寶;3:财付通;4:微信支付;5:貨到付款;6:其他支付
var payName: String? = null
var payTime: String? = null
var PRODUCT_NAME: List<PRODUCTNAMEBean>? = null var PRODUCT_NAME: List<PRODUCTNAMEBean>? = null
var couponList: List<CouponBean>? = null var couponList: List<CouponBean>? = null
......
...@@ -8,7 +8,7 @@ public class BrandsBean { ...@@ -8,7 +8,7 @@ public class BrandsBean {
private long sysTime; private long sysTime;
private List<BrandsData> data; private List<BrandsData> data;
public class BrandsData { public static class BrandsData {
/** /**
* brandId : 242 * brandId : 242
* brandName : 莫拉塔 * brandName : 莫拉塔
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_checkbox_checked" android:state_checked="true"/>
<item android:drawable="@drawable/ic_checkbox_uncheck" android:state_checked="false"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="@dimen/dp_0_5"
android:color="@color/color_aaa" />
<corners android:radius="@dimen/dp_4" />
</shape>
\ No newline at end of file
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="人數:" android:text="人數:"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_kitchen_location" /> app:layout_constraintTop_toBottomOf="@id/tv_kitchen_location" />
......
...@@ -7,8 +7,8 @@ ext { ...@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 28, targetSdkVersion : 28,
//正式版: 1.0.1 1 //正式版: 1.0.1 1
//內部測試版:1.1.1 11 //內部測試版:1.1.1 11
versionCode : 12, versionCode : 13,
versionName : "1.1.2" versionName : "1.1.3"
] ]
version = [ version = [
......
<resources> <resources>
<string name="user_login_name" translatable="false">Ricepon POS</string> <string name="user_login_name" translatable="false">Ricepon POS</string>
<string name="user_login_welcome_login" translatable="false">歡迎登陸商戶端</string> <string name="user_login_welcome_login" translatable="false">商戶端</string>
</resources> </resources>
...@@ -14,7 +14,6 @@ import retrofit2.http.POST; ...@@ -14,7 +14,6 @@ import retrofit2.http.POST;
*/ */
public interface MainService { public interface MainService {
@Headers({"Domain-Name: system_url"})
@POST("user/logout" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("user/logout" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<Object> loginOut(@Body RequestBody requestBody); Observable<Object> loginOut(@Body RequestBody requestBody);
......
...@@ -114,7 +114,6 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa ...@@ -114,7 +114,6 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
public void loginOut() { public void loginOut() {
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", GsaCloudApplication.getRestaurantId(mApplication) + "")
.add("type", "2") .add("type", "2")
.build(); .build();
clearHeartbeat(); clearHeartbeat();
...@@ -132,7 +131,6 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa ...@@ -132,7 +131,6 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
mRootView.loginOut(); mRootView.loginOut();
//清空用戶信息 //清空用戶信息
GsaCloudApplication.clearMemberInfo(); GsaCloudApplication.clearMemberInfo();
} }
}); });
} }
......
...@@ -34,7 +34,7 @@ class LookLogActivity : AppCompatActivity() { ...@@ -34,7 +34,7 @@ class LookLogActivity : AppCompatActivity() {
} }
rv_log.layoutManager = LinearLayoutManager(this) rv_log.layoutManager = LinearLayoutManager(this)
val logAdapter = LogAdapter(ml) val logAdapter = LogAdapter(ml)
logAdapter.setOnItemClickListener { adapter, view, position -> logAdapter.setOnItemClickListener { _, _, position ->
scroll_log.visibility = View.VISIBLE scroll_log.visibility = View.VISIBLE
var x = ml[position] var x = ml[position]
if (!x.isDirectory) { if (!x.isDirectory) {
......
...@@ -14,6 +14,7 @@ import com.billy.cc.core.component.CC ...@@ -14,6 +14,7 @@ import com.billy.cc.core.component.CC
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.base.widget.DialogUtils import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.constans.PrintConstans import com.gingersoft.gsa.cloud.constans.PrintConstans
...@@ -292,7 +293,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -292,7 +293,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
} }
BtnBuilder.printBtn -> { BtnBuilder.printBtn -> {
//打印 //打印
printOrder(dataBean, listener) printOrder(PrintCode, dataBean, listener)
} }
BtnBuilder.ProductionCompletedBtn -> { BtnBuilder.ProductionCompletedBtn -> {
//製作完成 //製作完成
...@@ -307,10 +308,12 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -307,10 +308,12 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
} }
fun gsUpdateOrderStatus(orderDetails: OrderDetails.DataBean, payTypeId: Int = 0, listener: (Int, Boolean) -> Unit) { fun gsUpdateOrderStatus(orderDetails: OrderDetails.DataBean, payTypeId: Int = 0, payName:String?, listener: (Int, Boolean) -> Unit) {
launch({ launch({
repository.gsUpdateOrderStatus(orderDetails.ID.toString(), 4, orderDetails.order_type, 3, "", "", "", "0", "", 1, 0, payTypeId).apply { repository.gsUpdateOrderStatus(orderDetails.ID.toString(), 4, orderDetails.order_type, 3, "", "", "", "0", "", 1, 0, payTypeId).apply {
orderDetails.payType = payTypeId orderDetails.payType = payTypeId
orderDetails.payName = payName
orderDetails.payTime = TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)
val bean = GsonUtils.GsonToBean(GsonUtils.GsonString(data), OrderClosingBean::class.java) val bean = GsonUtils.GsonToBean(GsonUtils.GsonString(data), OrderClosingBean::class.java)
orderDetails.oldPoints = bean.oldPoints orderDetails.oldPoints = bean.oldPoints
orderDetails.nowPoints = bean.nowPoints orderDetails.nowPoints = bean.nowPoints
...@@ -456,16 +459,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -456,16 +459,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
launch({ launch({
//單獨包起來,哪怕這接口報錯也不要影響到正常的邏輯 //單獨包起來,哪怕這接口報錯也不要影響到正常的邏輯
repository.addPrj(dataBean.Order_ID.toString(), restaurantId, ids.toString()) repository.addPrj(dataBean.Order_ID.toString(), restaurantId, ids.toString())
},{}) }, {})
if (this.code == "1") { if (this.code == "1") {
listener.invoke(OrderDelivery, true)
// 打印印單 // 打印印單
// 初始化用於打印的view // 初始化用於打印的view
// 送單成功後,再調用接口獲取取餐碼 // 送單成功後,再調用接口獲取取餐碼
getOrderInfo(dataBean.ID.toString()) { repository.getOrderInfo(dataBean.ID.toString()).apply {
if (it != null) { printOrder(OrderDelivery, data?.get(0)!!, listener)
printOrder(dataBean, listener)
}
} }
} else { } else {
listener.invoke(OrderDelivery, false) listener.invoke(OrderDelivery, false)
...@@ -477,7 +477,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -477,7 +477,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
/** /**
* 打印訂單 * 打印訂單
*/ */
private fun printOrder(dataBean: OrderDetails.DataBean, listener: (Int, Boolean) -> Unit) { private fun printOrder(code: Int, dataBean: OrderDetails.DataBean, listener: (Int, Boolean) -> Unit) {
//訂單信息和廚房單 //訂單信息和廚房單
MyOrderManage.setDataBean(dataBean) MyOrderManage.setDataBean(dataBean)
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
...@@ -486,7 +486,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -486,7 +486,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
.build() .build()
.callAsyncCallbackOnMainThread { _, result -> .callAsyncCallbackOnMainThread { _, result ->
MyOrderManage.setDataBean(null) MyOrderManage.setDataBean(null)
listener.invoke(PrintCode, result.isSuccess) listener.invoke(code, result.isSuccess)
} }
} }
...@@ -709,7 +709,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -709,7 +709,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
/** /**
* 取消訂單 * 取消訂單
*/ */
fun cancelOrder(memberId: String, memberName:String, orderId: String, reasonId: String, reasonDesc: String, listener: (Boolean) -> Unit) { fun cancelOrder(memberId: String, memberName: String, orderId: String, reasonId: String, reasonDesc: String, listener: (Boolean) -> Unit) {
launch({ launch({
repository.updateOrderStates(memberId, orderId, "6", memberName, reasonId, reasonDesc).apply { repository.updateOrderStates(memberId, orderId, "6", memberName, reasonId, reasonDesc).apply {
listener.invoke(code == "1") listener.invoke(code == "1")
......
...@@ -40,6 +40,7 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -40,6 +40,7 @@ class OrderDetailsActivity : BaseActivity() {
private lateinit var orderId: String private lateinit var orderId: String
private var orderType: Int = 0 private var orderType: Int = 0
private var orderPayType: Int = 0 private var orderPayType: Int = 0
private var isRead: Int = -1
lateinit var skeletonScreen: ViewSkeletonScreen lateinit var skeletonScreen: ViewSkeletonScreen
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
...@@ -58,10 +59,13 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -58,10 +59,13 @@ class OrderDetailsActivity : BaseActivity() {
orderId = intent.getStringExtra("orderId")//訂單id orderId = intent.getStringExtra("orderId")//訂單id
orderType = intent.getIntExtra("orderType", 0)//訂單類型 orderType = intent.getIntExtra("orderType", 0)//訂單類型
orderPayType = intent.getIntExtra("orderPayType", 0)//訂單支付方式 orderPayType = intent.getIntExtra("orderPayType", 0)//訂單支付方式
isRead = intent.getIntExtra("isRead", -1)//是否已讀訂單
pageViewModel = ViewModelProvider(this, InjectorUtil.getWeatherModelFactory())[PageViewModel::class.java].apply { pageViewModel = ViewModelProvider(this, InjectorUtil.getWeatherModelFactory())[PageViewModel::class.java].apply {
//設為已讀 if (isRead == 0) {
updateIsRead(orderId) //如果是未讀,調用設為已讀接口
updateIsRead(orderId)
}
//獲取訂單詳情 //獲取訂單詳情
getOrderDetails(orderId, binding) getOrderDetails(orderId, binding)
} }
...@@ -139,14 +143,8 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -139,14 +143,8 @@ class OrderDetailsActivity : BaseActivity() {
tv_order_state.setTextColor(resources.getColor(R.color.order_state0_color)) tv_order_state.setTextColor(resources.getColor(R.color.order_state0_color))
} }
} }
binding.patMethod = when (orderDetails.payType) { if (orderDetails.orderPayType == 2 && orderDetails.payName != null) {
1 -> "積分支付" binding.patMethod = orderDetails.payName
2 -> "支付寶"
3 -> "财付通"
4 -> "微信支付"
5 -> "貨到付款"
6 -> "其他支付"
else -> ""
} }
binding.orderStatus = type + orderStatusText binding.orderStatus = type + orderStatusText
...@@ -176,7 +174,7 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -176,7 +174,7 @@ class OrderDetailsActivity : BaseActivity() {
BtnBuilder.closingBtn -> { BtnBuilder.closingBtn -> {
//如果是在線支付的訂單,就直接修改訂單狀態 //如果是在線支付的訂單,就直接修改訂單狀態
if (orderPayType != 1) { if (orderPayType != 1) {
gsUpdateOrderStatus(orderDetails, orderDetails.order_type) { status, isSuccess -> gsUpdateOrderStatus(orderDetails, orderDetails.order_type, orderDetails.payName) { status, isSuccess ->
if (isSuccess) { if (isSuccess) {
finish() finish()
} else { } else {
...@@ -210,7 +208,7 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -210,7 +208,7 @@ class OrderDetailsActivity : BaseActivity() {
} }
OrderDelivery -> { OrderDelivery -> {
//已確認訂單,重新刷新當前頁面 //已確認訂單,重新刷新當前頁面
if(isSuccess){ if (isSuccess) {
finish() finish()
ToastUtils.show(this@OrderDetailsActivity, "訂單已確認") ToastUtils.show(this@OrderDetailsActivity, "訂單已確認")
} else { } else {
...@@ -226,7 +224,7 @@ class OrderDetailsActivity : BaseActivity() { ...@@ -226,7 +224,7 @@ class OrderDetailsActivity : BaseActivity() {
}) })
} }
PageViewModel.ProductionComplete -> { PageViewModel.ProductionComplete -> {
if(isSuccess){ if (isSuccess) {
finish() finish()
} }
ToastUtils.show(this@OrderDetailsActivity, if (isSuccess) { ToastUtils.show(this@OrderDetailsActivity, if (isSuccess) {
......
...@@ -63,7 +63,7 @@ class PayActivity : BaseActivity() { ...@@ -63,7 +63,7 @@ class PayActivity : BaseActivity() {
other_pay_view.notifyBillMethodAdapter(PayTypeInfo.getPayMethodByPayType(it)) other_pay_view.notifyBillMethodAdapter(PayTypeInfo.getPayMethodByPayType(it))
}) })
other_pay_view.setmOnSureClickLisenter {payMethods-> other_pay_view.setmOnSureClickLisenter { payMethods ->
//確認結賬,調用結賬接口 //確認結賬,調用結賬接口
object : DialogUtils(this, R.layout.other_order_pause_orders) { object : DialogUtils(this, R.layout.other_order_pause_orders) {
override fun initLayout(hepler: ViewHepler, dialog: Dialog) { override fun initLayout(hepler: ViewHepler, dialog: Dialog) {
...@@ -71,7 +71,7 @@ class PayActivity : BaseActivity() { ...@@ -71,7 +71,7 @@ class PayActivity : BaseActivity() {
hepler.getView<TextView>(R.id.tv_dialog_confirm).setOnClickListener { hepler.getView<TextView>(R.id.tv_dialog_confirm).setOnClickListener {
dialog.dismiss() dialog.dismiss()
showLoading() showLoading()
pageViewModel.gsUpdateOrderStatus(orderDetails, payMethods[0].id) { _, _ -> pageViewModel.gsUpdateOrderStatus(orderDetails, payMethods[0].id, payMethods[0].name) { _, _ ->
cancelDialogForLoading() cancelDialogForLoading()
setResult(RESULT_OK) setResult(RESULT_OK)
finish() finish()
......
...@@ -69,7 +69,6 @@ class OtherOrdersAdapter(var context: Context) : Adapter<OtherOrdersAdapter.View ...@@ -69,7 +69,6 @@ class OtherOrdersAdapter(var context: Context) : Adapter<OtherOrdersAdapter.View
data.STATUS == 0 -> { data.STATUS == 0 -> {
state = "待確認" state = "待確認"
bg.setColor(getColor(R.color.order_state0_color)) bg.setColor(getColor(R.color.order_state0_color))
//執行動畫 //執行動畫
if (data.isRead == 0) { if (data.isRead == 0) {
holder.flBorder.visibility = View.VISIBLE//顯示邊框 holder.flBorder.visibility = View.VISIBLE//顯示邊框
......
...@@ -60,6 +60,7 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) { ...@@ -60,6 +60,7 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
intent.putExtra("orderType", data.order_type) intent.putExtra("orderType", data.order_type)
intent.putExtra("orderStatus", data.STATUS) intent.putExtra("orderStatus", data.STATUS)
intent.putExtra("orderPayType", data.orderPayType) intent.putExtra("orderPayType", data.orderPayType)
intent.putExtra("isRead", data.isRead)
startActivity(intent) startActivity(intent)
......
...@@ -189,6 +189,58 @@ ...@@ -189,6 +189,58 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14" android:layout_marginTop="@dimen/dp_14"
android:paddingLeft="@dimen/dp_7" android:paddingLeft="@dimen/dp_7"
android:paddingRight="@dimen/dp_14"
android:visibility='@{(data.takeFoodCode==null||data.takeFoodCode.length()==0||data.takeFoodCode.equals("0"))?View.GONE:View.VISIBLE}'>
<TextView
android:id="@+id/tv_take_food_text"
style="@style/otherOrderReceiving_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取餐碼:" />
<TextView
android:id="@+id/tv_take_food_code"
style="@style/otherOrderReceiving_information_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/tv_take_food_text"
android:gravity="right"
android:text="@{data.takeFoodCode}" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14"
android:paddingLeft="@dimen/dp_7"
android:paddingRight="@dimen/dp_14"
android:visibility="@{(data.billNo==null||data.billNo.length()==0)?View.GONE:View.VISIBLE}">
<TextView
android:id="@+id/tv_bill_num_text"
style="@style/otherOrderReceiving_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="訂單號:" />
<TextView
android:id="@+id/tv_bill_num"
style="@style/otherOrderReceiving_information_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/tv_bill_num_text"
android:gravity="right"
android:text="@{data.billNo}" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14"
android:paddingLeft="@dimen/dp_7"
android:paddingRight="@dimen/dp_14"> android:paddingRight="@dimen/dp_14">
<TextView <TextView
...@@ -239,14 +291,15 @@ ...@@ -239,14 +291,15 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14" android:layout_marginTop="@dimen/dp_14"
android:paddingLeft="@dimen/dp_7" android:paddingLeft="@dimen/dp_7"
android:paddingRight="@dimen/dp_14"> android:paddingRight="@dimen/dp_14"
android:visibility="@{isSelf?View.GONE:View.VISIBLE}">
<TextView <TextView
android:id="@+id/tv_receive_address_text" android:id="@+id/tv_receive_address_text"
style="@style/otherOrderReceiving_title_textStyle" style="@style/otherOrderReceiving_title_textStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{isSelf?@string/meal_code:@string/receiving_address}" /> android:text="@string/receiving_address" />
<TextView <TextView
android:id="@+id/tv_receive_address" android:id="@+id/tv_receive_address"
...@@ -256,7 +309,7 @@ ...@@ -256,7 +309,7 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_toRightOf="@id/tv_receive_address_text" android:layout_toRightOf="@id/tv_receive_address_text"
android:gravity="right" android:gravity="right"
android:text="@{isSelf?data.takeFoodCode:data.addressDetail}" /> android:text="@{data.addressDetail}" />
</RelativeLayout> </RelativeLayout>
......
...@@ -6,6 +6,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; ...@@ -6,6 +6,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager; import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterListBean;
import com.jess.arms.di.scope.FragmentScope; import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -69,10 +70,15 @@ public class IpPrintListActivityPresenter extends BasePresenter<IpPrintListActiv ...@@ -69,10 +70,15 @@ public class IpPrintListActivityPresenter extends BasePresenter<IpPrintListActiv
@Override @Override
public void onNext(BaseResult baseResult) { public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
List<PrinterDeviceBean> deviceBeans = JsonUtils.parseArray(baseResult.getData(), PrinterDeviceBean.class); PrinterListBean printerListBean = JsonUtils.parseObject(baseResult.getData(), PrinterListBean.class);
if (deviceBeans != null && deviceBeans.size() > 0) { if(printerListBean != null) {
mRootView.loadPrinterList(deviceBeans); List<PrinterDeviceBean> deviceBeans = printerListBean.getList();
PrinterManager.getPrinterManager().setDeviceBeans(deviceBeans); if (deviceBeans != null && deviceBeans.size() > 0) {
mRootView.loadPrinterList(deviceBeans);
PrinterManager.getPrinterManager().setDeviceBeans(deviceBeans);
} else {
mRootView.loadFile();
}
} else { } else {
mRootView.loadFile(); mRootView.loadFile();
} }
......
...@@ -7,6 +7,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; ...@@ -7,6 +7,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager; import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterListBean;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -78,10 +79,14 @@ public class PrintPresenter extends BasePresenter<PrintContract.Model, PrintCont ...@@ -78,10 +79,14 @@ public class PrintPresenter extends BasePresenter<PrintContract.Model, PrintCont
@Override @Override
public void onNext(BaseResult baseResult) { public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
List<PrinterDeviceBean> deviceBeans = JsonUtils.parseArray(baseResult.getData(), PrinterDeviceBean.class); PrinterListBean deviceBeans = JsonUtils.parseObject(baseResult.getData(), PrinterListBean.class);
//有打印機,返回true if(deviceBeans != null){
PrinterManager.getPrinterManager().setDeviceBeans(deviceBeans); //有打印機,返回true
mRootView.showPrinterList(deviceBeans); PrinterManager.getPrinterManager().setDeviceBeans(deviceBeans.getList());
mRootView.showPrinterList(deviceBeans.getList());
} else {
mRootView.showPrinterList(null);
}
} else { } else {
mRootView.showPrinterList(null); mRootView.showPrinterList(null);
} }
......
...@@ -23,6 +23,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; ...@@ -23,6 +23,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.RequestBody; import okhttp3.RequestBody;
...@@ -91,8 +92,7 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model, ...@@ -91,8 +92,7 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
* 添加打印機 * 添加打印機
*/ */
public void addPrinter(PrinterDeviceBean printerDeviceBean) { public void addPrinter(PrinterDeviceBean printerDeviceBean) {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), JsonUtils.toJson(printerDeviceBean)); mModel.addPrinter(getRequestBody(printerDeviceBean))
mModel.addPrinter(requestBody)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("")) .doOnSubscribe(disposable -> mRootView.showLoading(""))
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
...@@ -114,9 +114,8 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model, ...@@ -114,9 +114,8 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
/** /**
* 更新打印機信息 * 更新打印機信息
*/ */
public void updatePrinterInfo(PrinterDeviceBean deviceBean) { public void updatePrinterInfo(PrinterDeviceBean printerDeviceBean) {
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), Objects.requireNonNull(JsonUtils.toJson(deviceBean))); mModel.updatePrinter(getRequestBody(printerDeviceBean))
mModel.updatePrinter(requestBody)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("")) .doOnSubscribe(disposable -> mRootView.showLoading(""))
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
...@@ -128,13 +127,32 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model, ...@@ -128,13 +127,32 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
public void onNext(BaseResult baseResult) { public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
mRootView.showMessage("保存成功"); mRootView.showMessage("保存成功");
mRootView.updatePrinterSuccess(deviceBean); mRootView.updatePrinterSuccess(printerDeviceBean);
mRootView.killMyself(); mRootView.killMyself();
} }
} }
}); });
} }
private RequestBody getRequestBody(PrinterDeviceBean printerDeviceBean) {
FormBody.Builder builder = new FormBody.Builder()
.add("restaurantId", printerDeviceBean.getRestaurantId() + "")
.add("name", printerDeviceBean.getName())
.add("ip", printerDeviceBean.getIp())
.add("port", printerDeviceBean.getPort() + "")
.add("printerModelId", printerDeviceBean.getPrinterModelId() + "")
.add("type", printerDeviceBean.getType() + "")
.add("id", printerDeviceBean.getId() + "");
if (printerDeviceBean.getFlyPrinterDeviceId() != null) {
builder.add("flyPrinterDeviceId", printerDeviceBean.getFlyPrinterDeviceId() + "");
}
if (printerDeviceBean.getFlyPrinterDeviceId2() != null) {
builder.add("flyPrinterDeviceId2", printerDeviceBean.getFlyPrinterDeviceId2() + "");
}
return builder.build();
}
/** /**
* 獲取打印機機型列表 * 獲取打印機機型列表
......
...@@ -15,15 +15,14 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; ...@@ -15,15 +15,14 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; 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.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant; import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo; import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrintBillBean; import com.joe.print.mvp.model.bean.PrintBillBean;
import com.joe.print.mvp.ui.adapter.BillItemAdapter; import com.joe.print.mvp.ui.adapter.BillItemAdapter;
import com.joe.print.mvp.ui.adapter.OtherOrderAdapter; import com.joe.print.mvp.ui.adapter.OtherOrderAdapter;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.joe.print.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -210,6 +209,8 @@ public class PrintOtherOrder extends PrinterRoot { ...@@ -210,6 +209,8 @@ public class PrintOtherOrder extends PrinterRoot {
private Bitmap initPrintView(Context context, OrderDetails.DataBean data) { private Bitmap initPrintView(Context context, OrderDetails.DataBean data) {
View view = LayoutInflater.from(context).inflate(R.layout.print_confirm_order_view, null, false); View view = LayoutInflater.from(context).inflate(R.layout.print_confirm_order_view, null, false);
TextView tvOrderClosing = view.findViewById(R.id.tv_order_closing);
TextView tvBillNumber = view.findViewById(R.id.tv_bill_number);
//品牌名 //品牌名
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context)); setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context));
//餐廳名 //餐廳名
...@@ -223,6 +224,11 @@ public class PrintOtherOrder extends PrinterRoot { ...@@ -223,6 +224,11 @@ public class PrintOtherOrder extends PrinterRoot {
} else { } else {
view.findViewById(R.id.tv_order_take_food_code).setVisibility(View.GONE); view.findViewById(R.id.tv_order_take_food_code).setVisibility(View.GONE);
} }
if (data.getBillNo() == null || data.getBillNo().length() <= 0) {
tvBillNumber.setVisibility(View.GONE);
} else {
tvBillNumber.setText("訂單號:" + data.getBillNo());
}
//訂單創建時間 //訂單創建時間
setText(view, R.id.tv_order_create, context.getString(R.string.create_order_time) + TimeUtils.parseTimeRepeat(data.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT)); setText(view, R.id.tv_order_create, context.getString(R.string.create_order_time) + TimeUtils.parseTimeRepeat(data.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT));
String amountUnit = context.getString(R.string.amount_unit); String amountUnit = context.getString(R.string.amount_unit);
...@@ -257,27 +263,20 @@ public class PrintOtherOrder extends PrinterRoot { ...@@ -257,27 +263,20 @@ public class PrintOtherOrder extends PrinterRoot {
setText(view, R.id.tv_total, amountUnit + data.getTOTAL_AMOUNT()); setText(view, R.id.tv_total, amountUnit + data.getTOTAL_AMOUNT());
//支付金額 //支付金額
setText(view, R.id.tv_pay_amount_text, "支付金額:" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount())); setText(view, R.id.tv_pay_amount_text, "支付金額:" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
//支付類型:貨到付款,在線支付
String payType = "";
if (data.getPayType() == 1) {
payType = ":積分支付";
} else if (data.getPayType() == 2) {
payType = ":支付寶";
} else if (data.getPayType() == 3) {
payType = ":财付通";
} else if (data.getPayType() == 4) {
payType = ":微信支付";
} else if (data.getPayType() == 5) {
payType = ":貨到付款";
} else if (data.getPayType() == 6) {
payType = ":其他支付";
}
if (data.getOrderPayType() == 1) { if (data.getOrderPayType() == 1) {
//貨到付款 //貨到付款
setText(view, R.id.tv_pay_type, "貨到付款"); setText(view, R.id.tv_pay_type, "貨到付款");
} else { } else if (data.getOrderPayType() == 0) {
setText(view, R.id.tv_pay_type, "在線支付" + payType); setText(view, R.id.tv_pay_type, "店內支付");
} else if (data.getOrderPayType() == 2) {
setText(view, R.id.tv_pay_type, "在線支付");
//顯示支付時間
if (data.getPayTime() != null) {
tvOrderClosing.setText("支付時間:" + data.getPayTime());
tvOrderClosing.setVisibility(View.VISIBLE);
}
} }
setText(view, R.id.tv_pay_amount_text, "支付金額:" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
//收貨時間 //收貨時間
setText(view, R.id.tv_delivery_time, data.getOrder_type() == 2 ? data.getSEND_TIME() : data.getTakeTime()); setText(view, R.id.tv_delivery_time, data.getOrder_type() == 2 ? data.getSEND_TIME() : data.getTakeTime());
if (data.getOrder_type() != 2) { if (data.getOrder_type() != 2) {
...@@ -294,7 +293,6 @@ public class PrintOtherOrder extends PrinterRoot { ...@@ -294,7 +293,6 @@ public class PrintOtherOrder extends PrinterRoot {
setText(view, R.id.tv_phone, "手機號:" + data.getPHONE()); setText(view, R.id.tv_phone, "手機號:" + data.getPHONE());
//底部時間 //底部時間
// setText(view, R.id.tv_bottom_time, "手機號:" + data.getPHONE()); // setText(view, R.id.tv_bottom_time, "手機號:" + data.getPHONE());
//備註 //備註
if (data.getRemark() != null && !data.getRemark().isEmpty()) { if (data.getRemark() != null && !data.getRemark().isEmpty()) {
setText(view, R.id.tv_remark, "備註:" + data.getRemark()); setText(view, R.id.tv_remark, "備註:" + data.getRemark());
...@@ -308,8 +306,6 @@ public class PrintOtherOrder extends PrinterRoot { ...@@ -308,8 +306,6 @@ public class PrintOtherOrder extends PrinterRoot {
rvFoodList.setLayoutManager(new LinearLayoutManager(context)); rvFoodList.setLayoutManager(new LinearLayoutManager(context));
rvFoodList.setAdapter(new OtherOrderAdapter(context, data.getPRODUCT_NAME(), true)); rvFoodList.setAdapter(new OtherOrderAdapter(context, data.getPRODUCT_NAME(), true));
} }
return viewToBitmap(context, view); return viewToBitmap(context, view);
} }
......
...@@ -70,6 +70,8 @@ public class PrintOtherOrderClosing extends PrinterRoot { ...@@ -70,6 +70,8 @@ public class PrintOtherOrderClosing extends PrinterRoot {
TextView tvAddPoints = view.findViewById(R.id.tv_addPoints);//本次添加積分 TextView tvAddPoints = view.findViewById(R.id.tv_addPoints);//本次添加積分
TextView tvOldPoints = view.findViewById(R.id.tv_oldPoints);//之前的積分 TextView tvOldPoints = view.findViewById(R.id.tv_oldPoints);//之前的積分
TextView lineMember = view.findViewById(R.id.line_member_info); TextView lineMember = view.findViewById(R.id.line_member_info);
TextView tvOrderClosing = view.findViewById(R.id.tv_order_closing);
TextView tvBillNumber = view.findViewById(R.id.tv_bill_number);
//品牌名 //品牌名
setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context)); setText(view, R.id.tv_brand_name, GsaCloudApplication.getBrandName(context));
//餐廳名 //餐廳名
...@@ -83,6 +85,11 @@ public class PrintOtherOrderClosing extends PrinterRoot { ...@@ -83,6 +85,11 @@ public class PrintOtherOrderClosing extends PrinterRoot {
} else { } else {
view.findViewById(R.id.tv_order_take_food_code).setVisibility(View.GONE); view.findViewById(R.id.tv_order_take_food_code).setVisibility(View.GONE);
} }
if (data.getBillNo() == null || data.getBillNo().length() <= 0) {
tvBillNumber.setVisibility(View.GONE);
} else {
tvBillNumber.setText("訂單號:" + data.getBillNo());
}
//訂單創建時間 //訂單創建時間
setText(view, R.id.tv_order_create, context.getString(R.string.create_order_time) + TimeUtils.parseTimeRepeat(data.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT)); setText(view, R.id.tv_order_create, context.getString(R.string.create_order_time) + TimeUtils.parseTimeRepeat(data.getCREATE_TIME(), TimeUtils.DEFAULT_DATE_FORMAT));
String amountUnit = context.getString(R.string.amount_unit); String amountUnit = context.getString(R.string.amount_unit);
...@@ -106,28 +113,25 @@ public class PrintOtherOrderClosing extends PrinterRoot { ...@@ -106,28 +113,25 @@ public class PrintOtherOrderClosing extends PrinterRoot {
rvBill.setAdapter(adapter); rvBill.setAdapter(adapter);
//總金額 //總金額
setText(view, R.id.tv_total, amountUnit + data.getTOTAL_AMOUNT()); setText(view, R.id.tv_total, amountUnit + data.getTOTAL_AMOUNT());
//支付金額
setText(view, R.id.tv_pay_amount_text, "支付金額:" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
//支付類型:貨到付款,在線支付
String payType = "";
if (data.getPayType() == 1) {
payType = ":積分支付";
} else if (data.getPayType() == 2) {
payType = ":支付寶";
} else if (data.getPayType() == 3) {
payType = ":财付通";
} else if (data.getPayType() == 4) {
payType = ":微信支付";
} else if (data.getPayType() == 5) {
payType = ":貨到付款";
} else if (data.getPayType() == 6) {
payType = ":其他支付";
}
if (data.getOrderPayType() == 1) { if (data.getOrderPayType() == 1) {
//貨到付款 //貨到付款
setText(view, R.id.tv_pay_type, "貨到付款"); setText(view, R.id.tv_pay_type, "貨到付款");
} else { if (data.getPayName() != null) {
setText(view, R.id.tv_pay_type, "在線支付" + payType); //支付金額
setText(view, R.id.tv_pay_amount_text, data.getPayName() + ":" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
} else {
setIsShow(view, R.id.tv_pay_amount_text,false);
setIsShow(view, R.id.tv_pay_amount_line,false);
}
} else if (data.getOrderPayType() == 0) {
setText(view, R.id.tv_pay_type, "店內支付");
} else if (data.getOrderPayType() == 2) {
setText(view, R.id.tv_pay_type, "在線支付");
setText(view, R.id.tv_pay_amount_text, data.getPayName() + ":" + amountUnit + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
}
if (data.getPayTime() != null) {
tvOrderClosing.setText("結賬時間:" + data.getPayTime());
tvOrderClosing.setVisibility(View.VISIBLE);
} }
//收貨時間 //收貨時間
setText(view, R.id.tv_delivery_time, data.getOrder_type() == 2 ? data.getSEND_TIME() : data.getTakeTime()); setText(view, R.id.tv_delivery_time, data.getOrder_type() == 2 ? data.getSEND_TIME() : data.getTakeTime());
......
...@@ -113,7 +113,10 @@ public class PrintPrjKitchen extends PrinterRoot { ...@@ -113,7 +113,10 @@ public class PrintPrjKitchen extends PrinterRoot {
tvTableNumber.setText(data.get(0).getTableName()); tvTableNumber.setText(data.get(0).getTableName());
tvTableNumber2.setText(data.get(0).getTableName()); tvTableNumber2.setText(data.get(0).getTableName());
//人數 //人數
tvPeople.setText(data.get(0).getPerson() + ""); if(data.get(0).getPerson() != 0) {
tvPeople.setText(data.get(0).getPerson() + "");
view.findViewById(R.id.tv_people_text).setVisibility(View.VISIBLE);
}
//訂單號 //訂單號
tvOrderNumber.setText(data.get(0).getOrderNo()); tvOrderNumber.setText(data.get(0).getOrderNo());
//開台時間 //開台時間
......
...@@ -105,6 +105,9 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -105,6 +105,9 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
((TextView) parentView.findViewById(viewId)).setText(text); ((TextView) parentView.findViewById(viewId)).setText(text);
} }
public void setIsShow(View parentView, int viewId, boolean isShow) {
parentView.findViewById(viewId).setVisibility(isShow ? View.VISIBLE : View.GONE);
}
/** /**
* 把Map中Key相同,则各个value添加到一起,汇总值 * 把Map中Key相同,则各个value添加到一起,汇总值
...@@ -429,7 +432,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -429,7 +432,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
private PrinterDeviceBean getDefaultPrintInList(List<PrinterDeviceBean> printerDeviceBeans) { private PrinterDeviceBean getDefaultPrintInList(List<PrinterDeviceBean> printerDeviceBeans) {
if (printerDeviceBeans != null) { if (printerDeviceBeans != null) {
for (PrinterDeviceBean printerDeviceBean : printerDeviceBeans) { for (PrinterDeviceBean printerDeviceBean : printerDeviceBeans) {
if (printerDeviceBean.getStatus() == 2) { if (printerDeviceBean.getPrinterDeviceDefaultId() != null) {
//默認打印機 //默認打印機
return printerDeviceBean; return printerDeviceBean;
} }
...@@ -496,6 +499,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -496,6 +499,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
printWidth = 480; printWidth = 480;
printerDeviceBean.setPaperSpecification(printWidth + ""); printerDeviceBean.setPaperSpecification(printWidth + "");
} }
Log.e("ccc", "紙張寬度:" + printWidth);
List<Bitmap> zoomBitmap = null; List<Bitmap> zoomBitmap = null;
if (bitmaps != null) { if (bitmaps != null) {
zoomBitmap = new ArrayList<>(); zoomBitmap = new ArrayList<>();
...@@ -508,8 +512,8 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -508,8 +512,8 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return; return;
} }
//獲取打印機機型,如果是EPSON的打印機,調用EPSON的打印方法 //獲取打印機機型,如果是EPSON的打印機,調用EPSON的打印方法
if (printerDeviceBean.getPrinterName().contains("EPSON") if (printerDeviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase())
|| printerDeviceBean.getModel().contains("EPSON")) { || printerDeviceBean.getModel().toLowerCase().contains("EPSON".toLowerCase())) {
List<Bitmap> finalZoomBitmap = zoomBitmap; List<Bitmap> finalZoomBitmap = zoomBitmap;
mPrinter = new EpsonPrint(); mPrinter = new EpsonPrint();
mPrinter.initializeObject(mContext, this); mPrinter.initializeObject(mContext, this);
...@@ -519,10 +523,12 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -519,10 +523,12 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
isSuccess = mPrinter.printData(printerDeviceBean.getIp(), finalZoomBitmap.get(j)); isSuccess = mPrinter.printData(printerDeviceBean.getIp(), finalZoomBitmap.get(j));
} }
disconnectPrinter(); disconnectPrinter();
if (isSuccess) { if (printListener != null) {
printListener.printSuccess(); if (isSuccess) {
} else { printListener.printSuccess();
printListener.printFile(); } else {
printListener.printFile();
}
} }
}).start(); }).start();
} else { } else {
......
...@@ -124,7 +124,7 @@ public class PrjService extends Service implements PrintSocketHolder.OnStateChan ...@@ -124,7 +124,7 @@ public class PrjService extends Service implements PrintSocketHolder.OnStateChan
//請求到數據,停止輪詢,開始打印,在打印完之後再重新開始輪詢 //請求到數據,停止輪詢,開始打印,在打印完之後再重新開始輪詢
startPrint(s); startPrint(s);
//開啟另一個定時,三十秒之後自動請求,避免上面的打印成功或失敗時沒有回調。 //開啟另一個定時,三十秒之後自動請求,避免上面的打印成功或失敗時沒有回調。
Observable.timer(30, TimeUnit.SECONDS) Observable.timer(10, TimeUnit.SECONDS)
.subscribe(new Observer<Long>() { .subscribe(new Observer<Long>() {
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
......
...@@ -132,16 +132,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -132,16 +132,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
finish(); finish();
} }
} else { } else {
// printerDeviceBeans = new ArrayList<>();
// PrinterDeviceBean printerDeviceBean = new PrinterDeviceBean();
// printerDeviceBean.setName("EPSON");
// printerDeviceBean.setIp("192.168.1.203");
// printerDeviceBean.setPort(9100);
// printerDeviceBean.setStatus(2);
// printerDeviceBean.setPaperSpecification("200");
// printerDeviceBean.setPrinterName("EPSON");
// printerDeviceBean.setModel("EPSON");
// printerDeviceBeans.add(printerDeviceBean);
if (printerDeviceBeans == null || printerDeviceBeans.size() <= 0) { if (printerDeviceBeans == null || printerDeviceBeans.size() <= 0) {
mPresenter.getPrinterList(GsaCloudApplication.getRestaurantId(mContext)); mPresenter.getPrinterList(GsaCloudApplication.getRestaurantId(mContext));
} else { } else {
......
...@@ -116,22 +116,22 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem ...@@ -116,22 +116,22 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
mTvModel.setText(printerDeviceBean.getPrinterName() + "\u3000" + printerDeviceBean.getModel()); mTvModel.setText(printerDeviceBean.getPrinterName() + "\u3000" + printerDeviceBean.getModel());
} }
} }
mSwitchDefalute.setChecked(printerDeviceBean.getStatus() == 2); mSwitchDefalute.setChecked(printerDeviceBean.getType() == 2);
if (devicess != null && devicess.size() > 0) { if (devicess != null && devicess.size() > 0) {
if (printerDeviceBean.getPrinterDeviceId() != null && printerDeviceBean.getPrinterDeviceId() != 0) { if (printerDeviceBean.getFlyPrinterDeviceId() != null && printerDeviceBean.getFlyPrinterDeviceId() != 0) {
//有飛單 //有飛單
for (int i = 0; i < devicess.size(); i++) { for (int i = 0; i < devicess.size(); i++) {
if (devicess.get(i).getId() == printerDeviceBean.getPrinterDeviceId()) { if (devicess.get(i).getId() == printerDeviceBean.getFlyPrinterDeviceId()) {
mTvFailNameOne.setText(devicess.get(i).getName()); mTvFailNameOne.setText(devicess.get(i).getName());
oneFailPosition = i; oneFailPosition = i;
mTvFailNameOne.setTextColor(getResources().getColor(R.color.color_3c)); mTvFailNameOne.setTextColor(getResources().getColor(R.color.color_3c));
} }
} }
} }
if (printerDeviceBean.getDefaultPrinterDeviceId() != null && printerDeviceBean.getDefaultPrinterDeviceId() != 0) { if (printerDeviceBean.getFlyPrinterDeviceId2() != null && printerDeviceBean.getFlyPrinterDeviceId2() != 0) {
//有飛單2222 //有飛單2222
for (int i = 0; i < devicess.size(); i++) { for (int i = 0; i < devicess.size(); i++) {
if (devicess.get(i).getId() == printerDeviceBean.getDefaultPrinterDeviceId()) { if (devicess.get(i).getId() == printerDeviceBean.getFlyPrinterDeviceId2()) {
mTvFailNameTwo.setText(devicess.get(i).getName()); mTvFailNameTwo.setText(devicess.get(i).getName());
twoFailPosition = i; twoFailPosition = i;
mTvFailNameTwo.setTextColor(getResources().getColor(R.color.color_3c)); mTvFailNameTwo.setTextColor(getResources().getColor(R.color.color_3c));
...@@ -360,26 +360,33 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem ...@@ -360,26 +360,33 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
} }
//飛單打印機 //飛單打印機
if (oneFailPosition != -1) { if (oneFailPosition != -1) {
deviceBean.setPrinterDeviceId(devicess.get(oneFailPosition).getId()); deviceBean.setFlyPrinterDeviceId(devicess.get(oneFailPosition).getId());
} }
if (twoFailPosition != -1) { if (twoFailPosition != -1) {
deviceBean.setDefaultPrinterDeviceId(devicess.get(twoFailPosition).getId()); deviceBean.setFlyPrinterDeviceId2(devicess.get(twoFailPosition).getId());
} }
//是否默認 //是否默認
deviceBean.setStatus(mSwitchDefalute.isChecked() ? 2 : 1); deviceBean.setType(mSwitchDefalute.isChecked() ? 2 : 1);
//打印機機型 //打印機機型
if (modelPosition < 0) { if (modelPosition < 0) {
//modelPosition小於0,說明用戶沒有選擇機型
if (printerDeviceBean != null) { if (printerDeviceBean != null) {
//如果打印機以前的信息不為空,則用之前的機型信息
deviceBean.setPrinterModelId(printerDeviceBean.getPrinterModelId()); deviceBean.setPrinterModelId(printerDeviceBean.getPrinterModelId());
deviceBean.setPaperSpecification(printerDeviceBean.getPaperSpecification()); deviceBean.setPaperSpecification(printerDeviceBean.getPaperSpecification());
} }
} else { } else {
//如果用戶選擇了打印機機型,判斷機型數據是否為空,不為空就設置機型信息
if (printModelBeans != null && printModelBeans.size() > modelPosition) { if (printModelBeans != null && printModelBeans.size() > modelPosition) {
deviceBean.setPrinterModelId(printModelBeans.get(modelPosition).getId()); deviceBean.setPrinterModelId((long) printModelBeans.get(modelPosition).getId());
deviceBean.setPaperSpecification(printModelBeans.get(modelPosition).getPaperSpecification()); deviceBean.setPaperSpecification(printModelBeans.get(modelPosition).getPaperSpecification());
} }
} }
if (deviceBean.getPrinterModelId() == null) {
ToastUtils.show(mContext, "請選擇打印機機型");
return;
}
//添加打印機 //添加打印機
if (v.getId() == R.id.printer_add) { if (v.getId() == R.id.printer_add) {
if (isEditPrinter && printerDeviceBean != null) { if (isEditPrinter && printerDeviceBean != null) {
...@@ -389,6 +396,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem ...@@ -389,6 +396,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
mPresenter.updatePrinterInfo(deviceBean); mPresenter.updatePrinterInfo(deviceBean);
} else { } else {
deviceBean.setUid(null); deviceBean.setUid(null);
deviceBean.setRestaurantId(GsaCloudApplication.getRestaurantId(mContext));
mPresenter.addPrinter(deviceBean); mPresenter.addPrinter(deviceBean);
} }
} else if (v.getId() == R.id.print_test) { } else if (v.getId() == R.id.print_test) {
......
...@@ -8,11 +8,8 @@ import androidx.annotation.Nullable; ...@@ -8,11 +8,8 @@ import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R; import com.joe.print.R;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import java.util.List; import java.util.List;
...@@ -26,6 +23,7 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base ...@@ -26,6 +23,7 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base
public PrinterListAdapter(@Nullable List<PrinterDeviceBean> data, Context mContext) { public PrinterListAdapter(@Nullable List<PrinterDeviceBean> data, Context mContext) {
super(R.layout.printer_item, data); super(R.layout.printer_item, data);
this.mContext = mContext; this.mContext = mContext;
addChildClickViewIds(R.id.layout_delete);
} }
@Override @Override
...@@ -37,13 +35,8 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base ...@@ -37,13 +35,8 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base
} else { } else {
helper.setText(R.id.tv_printer_port, String.format(mContext.getString(R.string.print_port), item.getPort() + "")); helper.setText(R.id.tv_printer_port, String.format(mContext.getString(R.string.print_port), item.getPort() + ""));
} }
((RadioButton) helper.getView(R.id.cb_printer_item)).setChecked(item.getStatus() == 2); ((RadioButton) helper.getView(R.id.cb_printer_item)).setChecked(item.getType() == 2);
helper.getView(R.id.tv_default_print).setVisibility(item.getStatus() == 2 ? View.VISIBLE : View.GONE); helper.getView(R.id.tv_default_print).setVisibility(item.getPrinterDeviceDefaultId() != null ? View.VISIBLE : View.GONE);
// helper.setOnItemSelectedClickListener(R.id.layout_delete,)
// helper.addOnClickListener(R.id.layout_delete);
addChildClickViewIds(R.id.layout_delete);
} }
......
...@@ -269,7 +269,6 @@ public class IpPrintListActivityFragment extends BaseFragment<IpPrintListActivit ...@@ -269,7 +269,6 @@ public class IpPrintListActivityFragment extends BaseFragment<IpPrintListActivit
// int position = adapterPosition - mRvPrintList.getHeaderCount(); // int position = adapterPosition - mRvPrintList.getHeaderCount();
} }
});// 监听拖拽和侧滑删除,更新UI和数据源。 });// 监听拖拽和侧滑删除,更新UI和数据源。
printListAdapter = new PrinterListAdapter(devicess, mContext); printListAdapter = new PrinterListAdapter(devicess, mContext);
printListAdapter.setOnItemChildClickListener((adapter, view, position) -> { printListAdapter.setOnItemChildClickListener((adapter, view, position) -> {
if (view.getId() == R.id.layout_delete) { if (view.getId() == R.id.layout_delete) {
......
...@@ -91,6 +91,13 @@ ...@@ -91,6 +91,13 @@
android:text='單號:' /> android:text='單號:' />
<TextView <TextView
android:id="@+id/tv_bill_number"
style="@style/print_other_order_twenty_six_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text='訂單號:' />
<TextView
android:id="@+id/tv_order_take_food_code" android:id="@+id/tv_order_take_food_code"
style="@style/print_other_order_thirty_style" style="@style/print_other_order_thirty_style"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -106,6 +113,13 @@ ...@@ -106,6 +113,13 @@
android:text='開單時間' /> android:text='開單時間' />
<TextView <TextView
android:id="@+id/tv_order_closing"
style="@style/print_other_order_twenty_six_style"
android:layout_width="wrap_content"
android:visibility="gone"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_remark" android:id="@+id/tv_remark"
style="@style/print_other_order_thirty_style" style="@style/print_other_order_thirty_style"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -206,6 +220,7 @@ ...@@ -206,6 +220,7 @@
android:text="支付金額:" /> android:text="支付金額:" />
<TextView <TextView
android:id="@+id/tv_pay_amount_line"
style="@style/print_other_order_twenty_six_style" style="@style/print_other_order_twenty_six_style"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment