Commit 02187684 authored by UIUANG\Zsc's avatar UIUANG\Zsc

修复问题

parent d995e729
......@@ -13,3 +13,5 @@
.externalNativeBuild
.cxx
local.properties
app/sit/output-metadata.json
app/sit/yppos-v-sit.apk
......@@ -45,12 +45,18 @@ android {
signingConfig signingConfigs.config
}
// return_test {
// buildConfigField 'String', 'HOST', RETURN_DEBUG_HOST
// minifyEnabled false
//
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
// }
sit{
buildConfigField 'String', 'HOST', SIT_HOST
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
pre {
buildConfigField 'String', 'HOST', PRE_HOST
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
buildConfigField 'String', 'HOST', RELEASE_HOST
minifyEnabled false
......@@ -80,6 +86,12 @@ android {
]
}
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = 'yppos-v-' + variant.buildType.name + '.apk'
}
}
}
dependencies {
......
......@@ -20,6 +20,7 @@ import com.elvishew.xlog.printer.file.backup.FileSizeBackupStrategy2
import com.elvishew.xlog.printer.file.backup.NeverBackupStrategy
import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator
import com.hjq.toast.ToastUtils
import com.tencent.mmkv.MMKV
import com.ypsx.base.base.BaseApp
import com.ypsx.yppos.app.event.AppViewModel
......@@ -45,6 +46,8 @@ class PosApp : BaseApp() {
override fun onCreate() {
super.onCreate()
MMKV.initialize(this)
// 初始化 Toast 框架
ToastUtils.init(this);
instance = this
PosDatabase.getDatabase(instance)
eventViewModelInstance = getAppViewModelProvider().get(EventViewModel::class.java)
......
......@@ -4,7 +4,7 @@ data class InsertOrderProductDTO(
var activityPrice: Double = 0.0,
var activitys: ActivityInfoDTO?=null,
var activitys: List<ActivityInfoDTO>? = null,
//成交价
var amount: Double = 0.0,
var barCode: String,
......@@ -24,7 +24,7 @@ data class InsertOrderProductDTO(
var payApportionAmount: Double = 0.0,
var pluLevel: String? = null,
var price: Double,
var quantity:Double,
var quantity: Double,
var priceType: String,
var productId: String,
var productNumber: String,
......@@ -35,10 +35,9 @@ data class InsertOrderProductDTO(
var tailAmount: Int = 0,
var unit: String,
//商家商品Id
var merchantItemId: String?=null,
var merchantItemId: String? = null,
//称重码
var weightCode: String? = null,
)
)
......@@ -111,7 +111,7 @@ class PosBuyRepository {
}
fun queryPosBuyPartByOrderNo(orderNo: String): List<PosBuyPart>? {
return getPosBuyPartDao().queryByOrderNo(orderNo, true)
return getPosBuyPartDao().queryByOrderNo(orderNo, false)
}
fun queryPosBuyPaymentByOrderNo(orderNo: String): PosBuyPayment? {
......
......@@ -40,7 +40,7 @@ class PosProductRepository {
}
fun queryAllIn( productIds: ArrayList<String>):List<PosProduct> {
productIds.toArray().toString().dXLog()
productIds.toArray().contentToString().dXLog()
return getPosProductDao().queryAllByProductId(productIds)
}
}
\ No newline at end of file
......@@ -7,11 +7,13 @@ import android.os.Process.myPid
import android.util.Log
import android.view.KeyEvent
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.activity.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.ypsx.base.ext.view.textStringTrim
import com.ypsx.yppos.R
import com.ypsx.yppos.app.base.BaseActivity
import com.ypsx.yppos.app.ext.hideKeyboard
import com.ypsx.yppos.databinding.ActivityMainBinding
import com.ypsx.yppos.http.data.bean.InsertOrderProductDTO
import com.ypsx.yppos.http.data.bean.OrderActivityResponse
......@@ -29,6 +31,7 @@ import com.ypsx.yppos.viewmodel.state.MainViewModel
import kotlinx.android.synthetic.main.activity_main.*
import razerdp.basepopup.BasePopupWindow.*
import java.util.*
import kotlin.collections.ArrayList
import kotlin.system.exitProcess
......@@ -122,7 +125,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
var promotionOnSaleTotal = mViewModel.discountSpecial.get()
var discountTotal = mViewModel.discount.get()
var data = orderProductAdapter.data
data.addAll(posBuyPartsDeleted)
var arrayList = ArrayList<InsertOrderProductDTO>()
arrayList.addAll(data)
arrayList.addAll(posBuyPartsDeleted)
"$realName 付款方式:${payMethod.name} 支付码:$barcode".dXLog()
requestMainViewModel.createOrder(
......@@ -131,7 +136,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
payAmount.toDouble(),
promotionOnSaleTotal.toDouble(),
discountTotal.toDouble(),
data,
arrayList,
payMethod,
barcode
)
......@@ -169,10 +174,10 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
recyclerView.adapter = orderProductAdapter
orderProductAdapter.addHeaderView(View.inflate(this, R.layout.item_order_header, null))
orderProductAdapter.run {
addChildClickViewIds(R.id.iv_item_delete, R.id.tv_count_add, R.id.tv_count_reduce)
addChildClickViewIds(R.id.rl_item_delete, R.id.tv_count_add, R.id.tv_count_reduce)
setOnItemChildClickListener { adapter, view, position ->
when (view.id) {
R.id.iv_item_delete -> {
R.id.rl_item_delete -> {
var messageDialog = MessagePopupWindow(this@MainActivity)
messageDialog.showPopupWindow()
messageDialog.setData("单品删除", "是否取消当前商品", "取消", "确定")
......@@ -269,6 +274,15 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
scanGunKeyEventHelper?.setOnBarCodeCatchListener(this)
}
}
et_search_content.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
hideKeyboard()
val textStringTrim = et_search_content.textStringTrim()
requestMainViewModel.getKeyWords(textStringTrim)
}
return@setOnEditorActionListener false
}
}
......
......@@ -55,6 +55,7 @@ class SettingsPopupWindow(context: Context?) : BasePopupWindow(context) {
inner class ProxyClick {
fun print() {
dismiss()
"${CacheUtil.getRealName()}打印最后一条付款成功记录".dXLog()
scope.launch {
kotlin.runCatching {
......@@ -74,7 +75,7 @@ class SettingsPopupWindow(context: Context?) : BasePopupWindow(context) {
}
}
}.onSuccess {
"打印完成".toastSuccess()
}.onFailure {
}
}
......
package com.ypsx.yppos.utils
import android.device.PrinterManager
import android.widget.Toast
import com.blankj.utilcode.util.Utils.runOnUiThread
import com.ypsx.yppos.http.data.bean.OrderDetailsResponse
import com.ypsx.yppos.http.data.entity.PosPayMethod
import com.ypsx.yppos.room.entity.PosBuy
......@@ -319,6 +321,7 @@ object PrintUtils {
status = printerManager.printPage(0) //Execution printing
printerManager.paperFeed(16) //paper feed
}
updatePrintStatus(status)
}
......@@ -334,11 +337,10 @@ object PrintUtils {
builder.append(" ")
}
builder.append(content)
builder.toString().dXLog()
return builder.toString()
}
fun getPriceSpace(
private fun getPriceSpace(
barCode: String,
paymentProductQuantity: Double,
price: Double,
......@@ -398,6 +400,31 @@ object PrintUtils {
return valueLength
}
private fun updatePrintStatus(status: Int) {
runOnUiThread(Runnable {
when (status) {
PRNSTS_OUT_OF_PAPER -> {
"缺纸!!!".toast()
}
PRNSTS_OVER_HEAT -> {
"过温保护!!!".toast()
}
PRNSTS_UNDER_VOLTAGE -> {
"电池电压过低!!!".toast()
}
PRNSTS_BUSY -> {
"打印机忙!!!".toast()
}
PRNSTS_ERR -> {
"打印机出错!!!".toast()
}
PRNSTS_ERR_DRIVER -> {
"打印机驱动出错!!!".toast()
}
}
})
}
fun printLast(
posConfig: PosConfig,
......@@ -696,6 +723,7 @@ object PrintUtils {
status = printerManager.printPage(0) //Execution printing
printerManager.paperFeed(16) //paper feed
}
updatePrintStatus(status)
}
}
\ No newline at end of file
......@@ -17,7 +17,7 @@ fun String.toastSign() {
fun String.toastSuccess() {
ToastUtils.setView(R.layout.toast_failed)
ToastUtils.setView(R.layout.toast_success)
ToastUtils.setGravity(Gravity.CENTER)
ToastUtils.show(this)
}
......
......@@ -221,9 +221,13 @@ class RequestMainViewModel : BaseViewModel() {
}
}
var activitys = product.activityInfo
var activitysList:ArrayList<ActivityInfoDTO>? = null
if (activitys != null) {
activitysList = arrayListOf(activitys)
}
var activityPrice = activitys?.activityPrice ?: 0.0
val posBuyPart = InsertOrderProductDTO(
activitys = activitys,
activitys = activitysList,
activityPrice = activityPrice,
amount = product.payApportionAmount ?: 0.0,
discountTotal = product.discountTotal ?: 0.0,
......@@ -326,6 +330,7 @@ class RequestMainViewModel : BaseViewModel() {
PrintUtils.print(posConfig!!, it)
}, {
"打印完成".dXLog()
"打印完成".toastSuccess()
})
})
......
......@@ -10,6 +10,8 @@ class SettingsViewModel : BaseViewModel() {
var version = StringObservableField()
var storeName = StringObservableField()
var userName = StringObservableField()
var posCode = StringObservableField()
......@@ -19,7 +21,8 @@ class SettingsViewModel : BaseViewModel() {
version.set("版本号:V${AppUtils.getAppVersionName()}")
val loginResponse = CacheUtil.getLoginResponse()
storeName.set(loginResponse!!.loginUser.orgName)
userName.set("用户:${loginResponse.loginUser.realName}${loadConfig?.code}")
userName.set("用户:${loginResponse.loginUser.realName}")
posCode.set("机号:${loadConfig?.code}")
}
......
......@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="click"
type="com.ypsx.yppos.ui.activity.MainActivity.ProxyClick" />
......@@ -50,6 +51,18 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{vm.orderNo}"
android:textColor="@color/colorAccent"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@+id/tv_store_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
......@@ -66,12 +79,12 @@
android:layout_height="30dp"
android:layout_marginStart="10dp"
android:background="@drawable/bg_search"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:focusable="true"
android:focusableInTouchMode="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tv_search"
app:layout_constraintStart_toStartOf="parent"
......@@ -91,6 +104,7 @@
android:background="@android:color/transparent"
android:digits="1234567890"
android:hint="搜索商品条码/PLU"
android:imeOptions="actionSearch"
android:inputType="number"
android:lines="1"
android:maxLength="20"
......@@ -105,9 +119,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:onClick="@{()->click.search()}"
android:padding="10dp"
android:text="搜索"
android:onClick="@{()->click.search()}"
android:textColor="#d9000000"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
......@@ -136,96 +150,94 @@
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="#FEFCEC"
android:visibility="@{vm.tipsVisible}"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:visibility="@{vm.tipsVisible}">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:src="@mipmap/ic_temp_trumpet"
/>
android:src="@mipmap/ic_temp_trumpet" />
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="点击按钮 扫描条形码/秤码添加商品"
android:textSize="16sp"
android:textColor="#FFF77D3E"
android:textSize="16sp"
/>
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:onClick="@{()->click.tips()}"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:src="@mipmap/ic_temp_tips_close"
/>
android:onClick="@{()->click.tips()}"
android:src="@mipmap/ic_temp_tips_close" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:visibility="@{vm.recyclerVisible}"
android:background="#F8F8F8"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
android:layout_weight="1"
android:background="#F8F8F8"
android:visibility="@{vm.recyclerVisible}" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:visibility="@{vm.recyclerVisible}"
android:background="@drawable/bg_shadow" />
android:background="@drawable/bg_shadow"
android:visibility="@{vm.recyclerVisible}" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_amount"
android:layout_width="match_parent"
android:layout_height="60dp"
android:id="@+id/ll_amount"
android:visibility="@{vm.recyclerVisible}"
android:orientation="horizontal">
android:orientation="horizontal"
android:visibility="@{vm.recyclerVisible}">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
android:background="@color/white"
android:backgroundTint="@color/white">
android:backgroundTint="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:layout_marginStart="10dp">
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="应收:"
android:textSize="15sp"
android:textColor="#FF333333" />
android:textColor="#FF333333"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥"
android:textSize="18sp"
android:textColor="#FFFF4400"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{vm.payAmount}"
android:textSize="24sp"
android:textColor="#FFFF4400"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
......@@ -233,42 +245,41 @@ android:src="@mipmap/ic_temp_tips_close"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginStart="10dp"
android:layout_marginTop="-3dp"
android:onClick="@{()->click.discount()}"
android:layout_marginTop="-3dp">
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="优惠:"
android:textSize="15sp"
android:textColor="#FF333333" />
android:textColor="#FF333333"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥"
android:textSize="16sp"
android:textColor="#FFFF4400"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{vm.discount}"
android:textSize="16sp"
android:textColor="#FFFF4400"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/iv_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_temp_up"
android:layout_marginStart="@dimen/dp_10"
android:layout_gravity="center_vertical"
/>
android:layout_marginStart="@dimen/dp_10"
android:src="@mipmap/ic_temp_up" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
......@@ -279,8 +290,8 @@ android:src="@mipmap/ic_temp_tips_close"
android:layout_height="match_parent"
android:background="#A14EFF"
android:gravity="center"
android:text="结算"
android:onClick="@{()->click.payAmount()}"
android:text="结算"
android:textColor="@color/white"
android:textSize="20sp"
......
......@@ -30,14 +30,23 @@
tools:text="条码:289771828928229"
/>
<ImageView
android:id="@+id/iv_item_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<RelativeLayout
android:id="@+id/rl_item_delete"
android:layout_width="@dimen/dp_40"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:src="@mipmap/ic_item_delete" />
>
<ImageView
android:id="@+id/iv_item_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:src="@mipmap/ic_item_delete" />
</RelativeLayout>
</RelativeLayout>
......
......@@ -59,6 +59,14 @@
android:textColor="@color/white"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@{vm.posCode}"
android:textColor="@color/white"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......
......@@ -20,10 +20,24 @@ android {
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
sit {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
pre {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
dataBinding = true
......@@ -43,7 +57,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.3.0'
//kotlin
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
//lifecycle
api 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
......
......@@ -4,7 +4,6 @@ import android.app.Application
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelStore
import androidx.lifecycle.ViewModelStoreOwner
import com.hjq.toast.ToastUtils
/**
* 作者 : hegaojian
......@@ -27,8 +26,7 @@ open class BaseApp : Application(), ViewModelStoreOwner {
override fun onCreate() {
super.onCreate()
// 初始化 Toast 框架
ToastUtils.init(this);
mAppViewModelStore = ViewModelStore()
}
......
......@@ -23,6 +23,12 @@ RELEASE_STORE_PASSWORD=yppos123456
RELEASE_STORE_FILE=./yppos.jks
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
DEBUG_HOST="http://139.196.77.98:81/"
RETURN_DEBUG_HOST="http://se-regression.wmdigit.com/"
RELEASE_HOST="http://demo2.wmdigit.com/"
\ No newline at end of file
DEBUG_HOST="https://test-cpos.ypshengxian.com/"
SIT_HOST="https://sit-cpos.ypshengxian.com/"
PRE_HOST="https://pre-cpos.ypshengxian.com/"
RELEASE_HOST="https://cpos.ypshengxian.com/"
#https://cpos.ypshengxian.com ʽ
#https://pre-cpos.ypshengxian.com
#https://sit-cpos.ypshengxian.com
#https://test-cpos.ypshengxian.com
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment