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

修复问题

parent d995e729
...@@ -13,3 +13,5 @@ ...@@ -13,3 +13,5 @@
.externalNativeBuild .externalNativeBuild
.cxx .cxx
local.properties local.properties
app/sit/output-metadata.json
app/sit/yppos-v-sit.apk
...@@ -45,12 +45,18 @@ android { ...@@ -45,12 +45,18 @@ android {
signingConfig signingConfigs.config signingConfig signingConfigs.config
} }
// return_test { sit{
// buildConfigField 'String', 'HOST', RETURN_DEBUG_HOST buildConfigField 'String', 'HOST', SIT_HOST
// minifyEnabled false minifyEnabled false
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
// 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 { release {
buildConfigField 'String', 'HOST', RELEASE_HOST buildConfigField 'String', 'HOST', RELEASE_HOST
minifyEnabled false minifyEnabled false
...@@ -80,6 +86,12 @@ android { ...@@ -80,6 +86,12 @@ android {
] ]
} }
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = 'yppos-v-' + variant.buildType.name + '.apk'
}
}
} }
dependencies { dependencies {
......
...@@ -20,6 +20,7 @@ import com.elvishew.xlog.printer.file.backup.FileSizeBackupStrategy2 ...@@ -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.backup.NeverBackupStrategy
import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator
import com.hjq.toast.ToastUtils
import com.tencent.mmkv.MMKV import com.tencent.mmkv.MMKV
import com.ypsx.base.base.BaseApp import com.ypsx.base.base.BaseApp
import com.ypsx.yppos.app.event.AppViewModel import com.ypsx.yppos.app.event.AppViewModel
...@@ -45,6 +46,8 @@ class PosApp : BaseApp() { ...@@ -45,6 +46,8 @@ class PosApp : BaseApp() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
MMKV.initialize(this) MMKV.initialize(this)
// 初始化 Toast 框架
ToastUtils.init(this);
instance = this instance = this
PosDatabase.getDatabase(instance) PosDatabase.getDatabase(instance)
eventViewModelInstance = getAppViewModelProvider().get(EventViewModel::class.java) eventViewModelInstance = getAppViewModelProvider().get(EventViewModel::class.java)
......
...@@ -4,7 +4,7 @@ data class InsertOrderProductDTO( ...@@ -4,7 +4,7 @@ data class InsertOrderProductDTO(
var activityPrice: Double = 0.0, var activityPrice: Double = 0.0,
var activitys: ActivityInfoDTO?=null, var activitys: List<ActivityInfoDTO>? = null,
//成交价 //成交价
var amount: Double = 0.0, var amount: Double = 0.0,
var barCode: String, var barCode: String,
...@@ -24,7 +24,7 @@ data class InsertOrderProductDTO( ...@@ -24,7 +24,7 @@ data class InsertOrderProductDTO(
var payApportionAmount: Double = 0.0, var payApportionAmount: Double = 0.0,
var pluLevel: String? = null, var pluLevel: String? = null,
var price: Double, var price: Double,
var quantity:Double, var quantity: Double,
var priceType: String, var priceType: String,
var productId: String, var productId: String,
var productNumber: String, var productNumber: String,
...@@ -35,10 +35,9 @@ data class InsertOrderProductDTO( ...@@ -35,10 +35,9 @@ data class InsertOrderProductDTO(
var tailAmount: Int = 0, var tailAmount: Int = 0,
var unit: String, var unit: String,
//商家商品Id //商家商品Id
var merchantItemId: String?=null, var merchantItemId: String? = null,
//称重码 //称重码
var weightCode: String? = null, var weightCode: String? = null,
)
)
...@@ -111,7 +111,7 @@ class PosBuyRepository { ...@@ -111,7 +111,7 @@ class PosBuyRepository {
} }
fun queryPosBuyPartByOrderNo(orderNo: String): List<PosBuyPart>? { fun queryPosBuyPartByOrderNo(orderNo: String): List<PosBuyPart>? {
return getPosBuyPartDao().queryByOrderNo(orderNo, true) return getPosBuyPartDao().queryByOrderNo(orderNo, false)
} }
fun queryPosBuyPaymentByOrderNo(orderNo: String): PosBuyPayment? { fun queryPosBuyPaymentByOrderNo(orderNo: String): PosBuyPayment? {
......
...@@ -40,7 +40,7 @@ class PosProductRepository { ...@@ -40,7 +40,7 @@ class PosProductRepository {
} }
fun queryAllIn( productIds: ArrayList<String>):List<PosProduct> { fun queryAllIn( productIds: ArrayList<String>):List<PosProduct> {
productIds.toArray().toString().dXLog() productIds.toArray().contentToString().dXLog()
return getPosProductDao().queryAllByProductId(productIds) return getPosProductDao().queryAllByProductId(productIds)
} }
} }
\ No newline at end of file
...@@ -7,11 +7,13 @@ import android.os.Process.myPid ...@@ -7,11 +7,13 @@ import android.os.Process.myPid
import android.util.Log import android.util.Log
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.ypsx.base.ext.view.textStringTrim import com.ypsx.base.ext.view.textStringTrim
import com.ypsx.yppos.R import com.ypsx.yppos.R
import com.ypsx.yppos.app.base.BaseActivity import com.ypsx.yppos.app.base.BaseActivity
import com.ypsx.yppos.app.ext.hideKeyboard
import com.ypsx.yppos.databinding.ActivityMainBinding import com.ypsx.yppos.databinding.ActivityMainBinding
import com.ypsx.yppos.http.data.bean.InsertOrderProductDTO import com.ypsx.yppos.http.data.bean.InsertOrderProductDTO
import com.ypsx.yppos.http.data.bean.OrderActivityResponse import com.ypsx.yppos.http.data.bean.OrderActivityResponse
...@@ -29,6 +31,7 @@ import com.ypsx.yppos.viewmodel.state.MainViewModel ...@@ -29,6 +31,7 @@ import com.ypsx.yppos.viewmodel.state.MainViewModel
import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.activity_main.*
import razerdp.basepopup.BasePopupWindow.* import razerdp.basepopup.BasePopupWindow.*
import java.util.* import java.util.*
import kotlin.collections.ArrayList
import kotlin.system.exitProcess import kotlin.system.exitProcess
...@@ -122,7 +125,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), ...@@ -122,7 +125,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
var promotionOnSaleTotal = mViewModel.discountSpecial.get() var promotionOnSaleTotal = mViewModel.discountSpecial.get()
var discountTotal = mViewModel.discount.get() var discountTotal = mViewModel.discount.get()
var data = orderProductAdapter.data var data = orderProductAdapter.data
data.addAll(posBuyPartsDeleted) var arrayList = ArrayList<InsertOrderProductDTO>()
arrayList.addAll(data)
arrayList.addAll(posBuyPartsDeleted)
"$realName 付款方式:${payMethod.name} 支付码:$barcode".dXLog() "$realName 付款方式:${payMethod.name} 支付码:$barcode".dXLog()
requestMainViewModel.createOrder( requestMainViewModel.createOrder(
...@@ -131,7 +136,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), ...@@ -131,7 +136,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
payAmount.toDouble(), payAmount.toDouble(),
promotionOnSaleTotal.toDouble(), promotionOnSaleTotal.toDouble(),
discountTotal.toDouble(), discountTotal.toDouble(),
data, arrayList,
payMethod, payMethod,
barcode barcode
) )
...@@ -169,10 +174,10 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), ...@@ -169,10 +174,10 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
recyclerView.adapter = orderProductAdapter recyclerView.adapter = orderProductAdapter
orderProductAdapter.addHeaderView(View.inflate(this, R.layout.item_order_header, null)) orderProductAdapter.addHeaderView(View.inflate(this, R.layout.item_order_header, null))
orderProductAdapter.run { 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 -> setOnItemChildClickListener { adapter, view, position ->
when (view.id) { when (view.id) {
R.id.iv_item_delete -> { R.id.rl_item_delete -> {
var messageDialog = MessagePopupWindow(this@MainActivity) var messageDialog = MessagePopupWindow(this@MainActivity)
messageDialog.showPopupWindow() messageDialog.showPopupWindow()
messageDialog.setData("单品删除", "是否取消当前商品", "取消", "确定") messageDialog.setData("单品删除", "是否取消当前商品", "取消", "确定")
...@@ -269,6 +274,15 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), ...@@ -269,6 +274,15 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
scanGunKeyEventHelper?.setOnBarCodeCatchListener(this) 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) { ...@@ -55,6 +55,7 @@ class SettingsPopupWindow(context: Context?) : BasePopupWindow(context) {
inner class ProxyClick { inner class ProxyClick {
fun print() { fun print() {
dismiss()
"${CacheUtil.getRealName()}打印最后一条付款成功记录".dXLog() "${CacheUtil.getRealName()}打印最后一条付款成功记录".dXLog()
scope.launch { scope.launch {
kotlin.runCatching { kotlin.runCatching {
...@@ -74,7 +75,7 @@ class SettingsPopupWindow(context: Context?) : BasePopupWindow(context) { ...@@ -74,7 +75,7 @@ class SettingsPopupWindow(context: Context?) : BasePopupWindow(context) {
} }
} }
}.onSuccess { }.onSuccess {
"打印完成".toastSuccess()
}.onFailure { }.onFailure {
} }
} }
......
package com.ypsx.yppos.utils package com.ypsx.yppos.utils
import android.device.PrinterManager 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.bean.OrderDetailsResponse
import com.ypsx.yppos.http.data.entity.PosPayMethod import com.ypsx.yppos.http.data.entity.PosPayMethod
import com.ypsx.yppos.room.entity.PosBuy import com.ypsx.yppos.room.entity.PosBuy
...@@ -319,6 +321,7 @@ object PrintUtils { ...@@ -319,6 +321,7 @@ object PrintUtils {
status = printerManager.printPage(0) //Execution printing status = printerManager.printPage(0) //Execution printing
printerManager.paperFeed(16) //paper feed printerManager.paperFeed(16) //paper feed
} }
updatePrintStatus(status)
} }
...@@ -334,11 +337,10 @@ object PrintUtils { ...@@ -334,11 +337,10 @@ object PrintUtils {
builder.append(" ") builder.append(" ")
} }
builder.append(content) builder.append(content)
builder.toString().dXLog()
return builder.toString() return builder.toString()
} }
fun getPriceSpace( private fun getPriceSpace(
barCode: String, barCode: String,
paymentProductQuantity: Double, paymentProductQuantity: Double,
price: Double, price: Double,
...@@ -398,6 +400,31 @@ object PrintUtils { ...@@ -398,6 +400,31 @@ object PrintUtils {
return valueLength 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( fun printLast(
posConfig: PosConfig, posConfig: PosConfig,
...@@ -696,6 +723,7 @@ object PrintUtils { ...@@ -696,6 +723,7 @@ object PrintUtils {
status = printerManager.printPage(0) //Execution printing status = printerManager.printPage(0) //Execution printing
printerManager.paperFeed(16) //paper feed printerManager.paperFeed(16) //paper feed
} }
updatePrintStatus(status)
} }
} }
\ No newline at end of file
...@@ -17,7 +17,7 @@ fun String.toastSign() { ...@@ -17,7 +17,7 @@ fun String.toastSign() {
fun String.toastSuccess() { fun String.toastSuccess() {
ToastUtils.setView(R.layout.toast_failed) ToastUtils.setView(R.layout.toast_success)
ToastUtils.setGravity(Gravity.CENTER) ToastUtils.setGravity(Gravity.CENTER)
ToastUtils.show(this) ToastUtils.show(this)
} }
......
...@@ -221,9 +221,13 @@ class RequestMainViewModel : BaseViewModel() { ...@@ -221,9 +221,13 @@ class RequestMainViewModel : BaseViewModel() {
} }
} }
var activitys = product.activityInfo var activitys = product.activityInfo
var activitysList:ArrayList<ActivityInfoDTO>? = null
if (activitys != null) {
activitysList = arrayListOf(activitys)
}
var activityPrice = activitys?.activityPrice ?: 0.0 var activityPrice = activitys?.activityPrice ?: 0.0
val posBuyPart = InsertOrderProductDTO( val posBuyPart = InsertOrderProductDTO(
activitys = activitys, activitys = activitysList,
activityPrice = activityPrice, activityPrice = activityPrice,
amount = product.payApportionAmount ?: 0.0, amount = product.payApportionAmount ?: 0.0,
discountTotal = product.discountTotal ?: 0.0, discountTotal = product.discountTotal ?: 0.0,
...@@ -326,6 +330,7 @@ class RequestMainViewModel : BaseViewModel() { ...@@ -326,6 +330,7 @@ class RequestMainViewModel : BaseViewModel() {
PrintUtils.print(posConfig!!, it) PrintUtils.print(posConfig!!, it)
}, { }, {
"打印完成".dXLog() "打印完成".dXLog()
"打印完成".toastSuccess()
}) })
}) })
......
...@@ -10,6 +10,8 @@ class SettingsViewModel : BaseViewModel() { ...@@ -10,6 +10,8 @@ class SettingsViewModel : BaseViewModel() {
var version = StringObservableField() var version = StringObservableField()
var storeName = StringObservableField() var storeName = StringObservableField()
var userName = StringObservableField() var userName = StringObservableField()
var posCode = StringObservableField()
...@@ -19,7 +21,8 @@ class SettingsViewModel : BaseViewModel() { ...@@ -19,7 +21,8 @@ class SettingsViewModel : BaseViewModel() {
version.set("版本号:V${AppUtils.getAppVersionName()}") version.set("版本号:V${AppUtils.getAppVersionName()}")
val loginResponse = CacheUtil.getLoginResponse() val loginResponse = CacheUtil.getLoginResponse()
storeName.set(loginResponse!!.loginUser.orgName) storeName.set(loginResponse!!.loginUser.orgName)
userName.set("用户:${loginResponse.loginUser.realName}${loadConfig?.code}") userName.set("用户:${loginResponse.loginUser.realName}")
posCode.set("机号:${loadConfig?.code}")
} }
......
This diff is collapsed.
...@@ -30,7 +30,13 @@ ...@@ -30,7 +30,13 @@
tools:text="条码:289771828928229" tools:text="条码:289771828928229"
/> />
<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"
>
<ImageView <ImageView
android:id="@+id/iv_item_delete" android:id="@+id/iv_item_delete"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -38,6 +44,9 @@ ...@@ -38,6 +44,9 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:src="@mipmap/ic_item_delete" /> android:src="@mipmap/ic_item_delete" />
</RelativeLayout>
</RelativeLayout> </RelativeLayout>
......
...@@ -59,6 +59,14 @@ ...@@ -59,6 +59,14 @@
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="15sp" /> 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 <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -20,10 +20,24 @@ android { ...@@ -20,10 +20,24 @@ android {
} }
buildTypes { 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 { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
} }
buildFeatures { buildFeatures {
dataBinding = true dataBinding = true
...@@ -43,7 +57,7 @@ dependencies { ...@@ -43,7 +57,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.appcompat:appcompat:1.3.0'
//kotlin //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' implementation 'androidx.core:core-ktx:1.3.2'
//lifecycle //lifecycle
api 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0' api 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
......
...@@ -4,7 +4,6 @@ import android.app.Application ...@@ -4,7 +4,6 @@ import android.app.Application
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelStore import androidx.lifecycle.ViewModelStore
import androidx.lifecycle.ViewModelStoreOwner import androidx.lifecycle.ViewModelStoreOwner
import com.hjq.toast.ToastUtils
/** /**
* 作者 : hegaojian * 作者 : hegaojian
...@@ -27,8 +26,7 @@ open class BaseApp : Application(), ViewModelStoreOwner { ...@@ -27,8 +26,7 @@ open class BaseApp : Application(), ViewModelStoreOwner {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
// 初始化 Toast 框架
ToastUtils.init(this);
mAppViewModelStore = ViewModelStore() mAppViewModelStore = ViewModelStore()
} }
......
...@@ -23,6 +23,12 @@ RELEASE_STORE_PASSWORD=yppos123456 ...@@ -23,6 +23,12 @@ RELEASE_STORE_PASSWORD=yppos123456
RELEASE_STORE_FILE=./yppos.jks RELEASE_STORE_FILE=./yppos.jks
# Kotlin code style for this project: "official" or "obsolete": # Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official kotlin.code.style=official
DEBUG_HOST="http://139.196.77.98:81/" DEBUG_HOST="https://test-cpos.ypshengxian.com/"
RETURN_DEBUG_HOST="http://se-regression.wmdigit.com/" SIT_HOST="https://sit-cpos.ypshengxian.com/"
RELEASE_HOST="http://demo2.wmdigit.com/" PRE_HOST="https://pre-cpos.ypshengxian.com/"
\ No newline at end of file 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