Commit d48dff72 by Wyh

8.08 1、外送接單支付方式顯示字段修改 2、更多報表報錯修復

Signed-off-by: Wyh <1239658231>
parent faca8b9d
......@@ -95,7 +95,6 @@ class OrderDetails {
var addPoints: Double = 0.toDouble()//本次加多少積分
var oldPoints: Double = 0.toDouble()//之前有多少積分
var nowPoints: Double = 0.toDouble()//現在有多少積分
var orderPayInfoVO: List<OrderPayAmountVo>? = null
var curStat: Int = 0//訂單已創建 1
// * * Order Assigned To Delivery Man - 配送員已接單 2
// * * Delivery Man Reached Pickup Point Nearby - 配送員已到達店鋪附近 3
......@@ -178,7 +177,6 @@ class OrderDetails {
}
}
data class OrderPayAmountVo(var payTypeId: Int, var amount: Double, var payName: String) : Serializable
data class CouponBean(val couponName: String, val discount_amount: Float) : Serializable
data class PayMultiple(val payTypeId: String, val amount: Double, val payName: String, val points: Double) : Serializable
......
......@@ -202,7 +202,8 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
showMergeSettlementDialog(IActivity,"今天已清機過,是否合併清機");
} else {
if (!TextUtils.isEmpty(info.getErrMsg())) {
mRootView.showMessage(info.getErrMsg() + ",清機失敗");
// mRootView.showMessage(info.getErrMsg() + ",清機失敗");
showMergeSettlementDialog(IActivity,info.getErrMsg() + ",清機失敗");
} else {
mRootView.showMessage("清機失敗");
}
......
......@@ -357,7 +357,7 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
});
} else if (viewId == R.id.tv_start_time || viewId == R.id.iv_start_time_triangle || viewId == R.id.tv_end_time || viewId == R.id.iv_end_time_triangle) {
try {
String time = null;
String time;
Calendar startTime = Calendar.getInstance();
startTime.set(Calendar.DAY_OF_YEAR, startTime.getActualMinimum(Calendar.DAY_OF_YEAR));//今年第一天
......
......@@ -17,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.main.R;
......@@ -292,7 +293,7 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
public void onClick(View v) {
int viewId = v.getId();
try {
String time = null;
String time;
Calendar startTime = Calendar.getInstance();
startTime.set(Calendar.DAY_OF_YEAR, startTime.getActualMinimum(Calendar.DAY_OF_YEAR));//今年第一天
......@@ -305,6 +306,8 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
endTimeTriangleView.toggle();
time = mTvEndTime.getText().toString();
startTime.setTime(TimeUtils.DATE_FORMAT_DATE.parse(mTvStartTime.getText().toString()));
} else {
time = TimeUtils.getCurrentDate(TimeUtils.DATE_FORMAT_DATE);
}
Calendar cal = Calendar.getInstance();
......
......@@ -360,12 +360,11 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
public void onClick(View v) {
int viewId = v.getId();
try {
String time = null;
String time;
Calendar startTime = Calendar.getInstance();
startTime.set(Calendar.DAY_OF_YEAR, startTime.getActualMinimum(Calendar.DAY_OF_YEAR));//今年第一天
Calendar endTime = Calendar.getInstance();
if (viewId == R.id.tv_start_time || viewId == R.id.iv_start_time_triangle) {
triangleView.toggle();
time = mTvStartTime.getText().toString();
......@@ -375,6 +374,8 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
endTimeTriangleView.toggle();
time = mTvEndTime.getText().toString();
startTime.setTime(TimeUtils.DATE_FORMAT_DATE.parse(mTvStartTime.getText().toString()));
} else {
time = TimeUtils.getCurrentDate(TimeUtils.DATE_FORMAT_DATE);
}
Calendar cal = Calendar.getInstance();
......
......@@ -105,7 +105,7 @@ class WeatherRepository private constructor(private val network: CoolWeatherNetw
suspend fun updateOrderPay(orderId: Int, status: Int, orderType: Int, type: Int, sendDate: String = "",
sender: String = "", sendmobile: String = "", reasonId: String = "", reasonDesc: String = "",
confirmationType: Int = 1, orderFrom: Int = 0, orderPayInfoVO: List<OrderDetails.DataBean.OrderPayAmountVo>? = null) = withContext(Dispatchers.IO) {
confirmationType: Int = 1, orderFrom: Int = 0, orderPayInfoVO: List<OrderDetails.DataBean.PayMultiple>? = null) = withContext(Dispatchers.IO) {
val updateOrderStatusBean = UpdateOrderStatusBean(orderFrom, orderId, orderPayInfoVO, sendDate, sender, sendmobile, status, type, orderType, reasonId, reasonDesc, confirmationType)
val payRequest = GsonUtils.GsonString(updateOrderStatusBean)
val requestBody = RequestBody.create(MediaType.parse("application/json"), payRequest)
......
......@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.print.bean.OrderDetails
* 更新訂單狀態提交數據類
* http://gingersoft.tpddns.cn:53000/project/24/interface/api/5716
*/
data class UpdateOrderStatusBean(var orderFrom: Int, var orderId: Int, var orderPayInfoVO: List<OrderDetails.DataBean.OrderPayAmountVo>?,
data class UpdateOrderStatusBean(var orderFrom: Int, var orderId: Int, var orderPayInfoVO: List<OrderDetails.DataBean.PayMultiple>?,
var sendDate: String, var sender: String,var sendmobile: String,var status: Int,var type: Int,var orderType: Int,
var reasonId: String, var reasonDesc: String,
var confirmationType: Int)
......@@ -311,7 +311,6 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
thirdSend(restaurantId, dataBean, 2, listener)
} else {
updateOrderAndPrint(restaurantId, dataBean, 2, listener)
//fantasy
}
}
}
......@@ -337,12 +336,13 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
fun closingBill(orderDetails: OrderDetails.DataBean, payMethods: List<PayMethod>, listener: (Int, Boolean) -> Unit) {
launch({
val orderPayInfoVO = ArrayList<OrderDetails.DataBean.OrderPayAmountVo>()
val payMultiple = ArrayList<OrderDetails.DataBean.PayMultiple>()
payMethods.forEach {
orderPayInfoVO.add(OrderDetails.DataBean.OrderPayAmountVo(it.id, it.payMoney, it.payName))
payMultiple.add(OrderDetails.DataBean.PayMultiple(it.id.toString(), it.payMoney, it.payName, 0.0))
}
repository.updateOrderPay(orderDetails.ID, 4, orderDetails.order_type, 3, orderPayInfoVO = orderPayInfoVO).apply {
orderDetails.orderPayInfoVO = orderPayInfoVO
repository.updateOrderPay(orderDetails.ID, 4, orderDetails.order_type, 3, orderPayInfoVO = payMultiple).apply {
orderDetails.payMultiple = payMultiple
orderDetails.payTime = TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)
val bean = GsonUtils.GsonToBean(GsonUtils.GsonString(data), OrderClosingBean::class.java)
if (bean != null) {
......@@ -362,10 +362,10 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}
fun gsUpdateOrderStatus(orderDetails: OrderDetails.DataBean, orderPayInfoVO: List<OrderDetails.DataBean.OrderPayAmountVo>?, listener: (Int, Boolean) -> Unit) {
fun gsUpdateOrderStatus(orderDetails: OrderDetails.DataBean, orderPayInfoVO: List<OrderDetails.DataBean.PayMultiple>?, listener: (Int, Boolean) -> Unit) {
launch({
repository.gsUpdateOrderStatus(orderDetails.ID, 4, orderDetails.order_type, 3, orderFrom = 0).apply {
orderDetails.orderPayInfoVO = orderPayInfoVO
orderDetails.payMultiple = orderPayInfoVO
// orderDetails.payType = payTypeId
// orderDetails.payName = payName
orderDetails.payTime = TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)
......@@ -384,6 +384,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}
fun converToJson(vararg pair: Pair<String, String>): String {
val array = JSONArray()
array.apply {
pair.forEach {
......
......@@ -10,6 +10,8 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.listener.OnItemClickListener
import com.ethanhua.skeleton.Skeleton
import com.ethanhua.skeleton.ViewSkeletonScreen
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
......@@ -87,6 +89,7 @@ class OrderDetailsActivity : BaseActivity() {
orderDetails.observe(this@OrderDetailsActivity, Observer {
skeletonScreen.hide()//隱藏骨架屏
if (it?.data != null && it.data!!.isNotEmpty()) {
//初始化頁面佈局
val orderDetails = it.data!![0]
orderDetails.order_type = orderType
orderDetails.orderPayType = orderPayType
......@@ -156,9 +159,7 @@ class OrderDetailsActivity : BaseActivity() {
tv_order_state.setTextColor(ContextCompat.getColor(this@OrderDetailsActivity, R.color.order_state0_color))
}
}
// if (orderDetails.orderPayType == 2 && orderDetails.payName != null) {
// binding.patMethod = orderDetails.payName
// }
if (orderDetails.orderPayType == 2 && orderDetails.payMultiple != null) {
val sb = StringBuilder()
for (value in orderDetails.payMultiple!!) {
......@@ -211,8 +212,7 @@ class OrderDetailsActivity : BaseActivity() {
intent.putExtra("orderDetails", orderDetails)
startActivityForResult(intent, 1001)
}
}
else -> {
} else -> {
showLoading()
updateOrderStatusByBtn(btnList[position].type, orderDetails, GsaCloudApplication.getRestaurantId(this@OrderDetailsActivity).toString()) { msg ->
cancelDialogForLoading()
......@@ -296,6 +296,7 @@ class OrderDetailsActivity : BaseActivity() {
getShipanyAndOrderInfo(GsaCloudApplication.getRestaurantId(this@OrderDetailsActivity).toString(), orderId)
}
/**
* 取消訂單,獲取取消原因
*/
......
......@@ -167,7 +167,7 @@
app:layout_constraintLeft_toRightOf="@id/tv_order_user_name"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_order_user_name"
tools:text="用戶名"
tools:text="已通知物流"
tools:textColor="@color/theme_333_color" />
<androidx.constraintlayout.widget.Barrier
......@@ -182,7 +182,7 @@
android:id="@+id/tv_delivery_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginTop="@dimen/dp_5"
android:text="@{data.sendTime}"
android:textColor="#EC2D2D"
android:textSize="@dimen/dp_12"
......@@ -198,7 +198,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_5"
android:text="取餐碼:"
app:layout_constraintLeft_toLeftOf="@id/fl_payment_method"
app:layout_constraintTop_toBottomOf="@id/tv_delivery_time" />
......
......@@ -362,6 +362,10 @@ public class EpsonPrint implements ReceiveListener {
}
}
public void setPrint(boolean print) {
isPrint = print;
}
@Override
public void onPtrReceive(Printer printer, int i, PrinterStatusInfo printerStatusInfo, String s) {
this.mPrinter = printer;
......
......@@ -160,18 +160,8 @@ public class PrintOtherOrder extends PrinterRoot {
//總金額34sp
layout.addView(getTakeawayLargeAmount(mContext, "總金額:", MONETARY_UNIT + data.getTOTAL_AMOUNT()));
layout.addView(getLine(mContext));
if (data.getPayMultiple() != null && data.getPayMultiple().size() > 0) {
for (OrderDetails.DataBean.PayMultiple payMultiple : data.getPayMultiple()) {
if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
layout.addView(getTakeawayLargeAmount(mContext, payMultiple.getPayName(), MONETARY_UNIT + payMultiple.getAmount()));
}
}
layout.addView(getLine(mContext));
}
//支付金額
layout.addView(getTakeawayLargeAmount(mContext, "支付金額:", MONETARY_UNIT + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()) + ""));
layout.addView(getLine(mContext));
//支付信息
addTakeawayPayViews(mContext, layout, data.getPayMultiple(), MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
//用戶信息
getTakeawayReceiver(mContext, data, layout);
//尾部
......
......@@ -130,8 +130,8 @@ public class PrintOtherOrderClosing extends PrinterRoot {
// //支付金額
// 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);
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, "店內支付");
......@@ -222,16 +222,18 @@ public class PrintOtherOrderClosing extends PrinterRoot {
//總金額34sp
layout.addView(getTakeawayLargeAmount(mContext, "總金額:", MONETARY_UNIT + data.getTOTAL_AMOUNT()));
layout.addView(getLine(mContext));
if (data.getPayMultiple() != null) {
for (OrderDetails.DataBean.PayMultiple payMultiple : data.getPayMultiple()) {
if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
layout.addView(getTakeawayLargeAmount(mContext, payMultiple.getPayName(), MONETARY_UNIT + payMultiple.getAmount()));
}
}
layout.addView(getLine(mContext));
} else {
layout.addView(getTakeawayLargeAmount(mContext, "支付金額:", MONETARY_UNIT + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()) + ""));
}
// if (data.getPayMultiple() != null && data.getPayMultiple().size() > 0) {
// for (OrderDetails.DataBean.PayMultiple payMultiple : data.getPayMultiple()) {
// if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
// layout.addView(getTakeawayLargeAmount(mContext, payMultiple.getPayName(), MONETARY_UNIT + payMultiple.getAmount()));
// }
// }
// layout.addView(getLine(mContext));
// } else {
// layout.addView(getTakeawayLargeAmount(mContext, "支付金額:", MONETARY_UNIT + MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()) + ""));
// }
addTakeawayPayViews(mContext, layout, data.getPayMultiple(), MoneyUtil.sub(Double.parseDouble(data.getTOTAL_AMOUNT()), data.getDiscount_amount()));
//會員信息
layout.addView(getTakeawayMemberIntegerView(mContext, data));
layout.addView(getLine(mContext));
......
......@@ -11,6 +11,7 @@ import android.os.RemoteException;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -31,6 +32,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
......@@ -282,6 +284,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
&& (printerDeviceBean.getModel() != null && printerDeviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
ThreadPoolManager.getInstence().putExecutableTasks(() -> {
mPrinter = EpsonPrint.getInstance();
mPrinter.setPrint(false);
mPrinter.initializeObject(GsaCloudApplication.getAppContext(), PrinterRoot.this, PrinterRoot.this);
for (int j = 0; j < bitmaps.size(); j++) {
mPrinter.putPrintData(printerDeviceBean.getIp(), bitmaps.get(j));
......@@ -613,6 +616,20 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return getVerticalRecyclerView(mContext, new BillItemAdapter(data));
}
protected void addTakeawayPayViews(Context mContext, ViewGroup parent, List<OrderDetails.DataBean.PayMultiple> payMultiples, double payAmount){
if (payMultiples != null && payMultiples.size() > 0) {
for (OrderDetails.DataBean.PayMultiple payMultiple : payMultiples) {
if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
parent.addView(getTakeawayLargeAmount(mContext, payMultiple.getPayName(), MONETARY_UNIT + payMultiple.getAmount()));
}
}
parent.addView(getLine(mContext));
}
//支付金額
parent.addView(getTakeawayLargeAmount(mContext, "支付金額:", MONETARY_UNIT + payAmount));
parent.addView(getLine(mContext));
}
protected View getTakeawayMemberInfoView(Context mContext, String address, String receiver, String phone) {
LinearLayout layout = new LinearLayout(mContext);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
......
......@@ -22,6 +22,7 @@ import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout;
import com.qmuiteam.qmui.layout.QMUIConstraintLayout;
import com.qmuiteam.qmui.layout.QMUIRelativeLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.Date;
......
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