Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
8fbea4e5
Commit
8fbea4e5
authored
Jan 28, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.2.1測試版
parent
5f8fe0fe
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1094 additions
and
218 deletions
+1094
-218
app/build.gradle
+4
-4
component-supply-chain/src/main/java/com/gingersoft/supply_chain/di/component/WareHousingDetailsComponent.java
+42
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/di/module/WareHousingDetailsModule.java
+31
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/contract/WareHousingDetailsContract.java
+29
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/model/WareHousingDetailsModel.java
+47
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/presenter/WareHousingDetailsPresenter.java
+53
-0
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/fragment/warehouse/WareHousingDetailsFragment.java
+49
-0
component-supply-chain/src/main/res/layout/fragment_order_details.xml
+238
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
+8
-19
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/ModifyOrderAction.java
+1
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/PrintOrderAction.java
+31
-46
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/RefundOrder.java
+4
-11
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/TipsOrder.java
+2
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/BillDiscountAction.java
+196
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
+243
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/function/TableFunctionFactory.java
+34
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+13
-16
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
+20
-25
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/BaseOrderConterPresenter.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderDetailPresenter.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderCenterActivity.java
+37
-69
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
+0
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
+0
-0
config.gradle
+4
-12
library-common/src/main/java/com/gingersoft/gsa/cloud/common/utils/AidlUtil.java
+0
-0
library-updateApk/src/main/res/xml/update_file_paths.xml
+4
-0
No files found.
app/build.gradle
View file @
8fbea4e5
...
...
@@ -29,14 +29,14 @@ android {
buildTypes
{
debug
{
buildConfigField
"boolean"
,
"LOG_DEBUG"
,
rootProject
.
ext
.
buildType
[
"debugLogDebug"
]
buildConfigField
"boolean"
,
"USE_CANARY"
,
rootProject
.
ext
.
buildType
[
"debugUseCanary"
]
buildConfigField
"boolean"
,
"LOG_DEBUG"
,
"true"
buildConfigField
"boolean"
,
"USE_CANARY"
,
"true"
minifyEnabled
false
proguardFiles
'proguard.cfg'
}
release
{
buildConfigField
"boolean"
,
"LOG_DEBUG"
,
rootProject
.
ext
.
buildType
[
"releaseLogDebug"
]
buildConfigField
"boolean"
,
"USE_CANARY"
,
rootProject
.
ext
.
buildType
[
"releaseUseCanary"
]
buildConfigField
"boolean"
,
"LOG_DEBUG"
,
"false"
buildConfigField
"boolean"
,
"USE_CANARY"
,
"false"
minifyEnabled
false
zipAlignEnabled
false
proguardFiles
'proguard.cfg'
...
...
component-supply-chain/src/main/java/com/gingersoft/supply_chain/di/component/WareHousingDetailsComponent.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.supply_chain.di.module.WareHousingDetailsModule
;
import
com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.supply_chain.mvp.ui.fragment.warehouse.WareHousingDetailsFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component
(
modules
=
WareHousingDetailsModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
WareHousingDetailsComponent
{
void
inject
(
WareHousingDetailsFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
WareHousingDetailsComponent
.
Builder
view
(
WareHousingDetailsContract
.
View
view
);
WareHousingDetailsComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
WareHousingDetailsComponent
build
();
}
}
\ No newline at end of file
component-supply-chain/src/main/java/com/gingersoft/supply_chain/di/module/WareHousingDetailsModule.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
di
.
module
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract
;
import
com.gingersoft.supply_chain.mvp.model.WareHousingDetailsModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
WareHousingDetailsModule
{
@Binds
abstract
WareHousingDetailsContract
.
Model
bindWareHousingDetailsModel
(
WareHousingDetailsModel
model
);
}
\ No newline at end of file
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/contract/WareHousingDetailsContract.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
mvp
.
contract
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
WareHousingDetailsContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
}
}
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/model/WareHousingDetailsModel.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
mvp
.
model
;
import
android.app.Application
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.FragmentScope
;
import
javax.inject.Inject
;
import
com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
WareHousingDetailsModel
extends
BaseModel
implements
WareHousingDetailsContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
WareHousingDetailsModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
}
\ No newline at end of file
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/presenter/WareHousingDetailsPresenter.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
javax.inject.Inject
;
import
com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
WareHousingDetailsPresenter
extends
BasePresenter
<
WareHousingDetailsContract
.
Model
,
WareHousingDetailsContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
WareHousingDetailsPresenter
(
WareHousingDetailsContract
.
Model
model
,
WareHousingDetailsContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
}
component-supply-chain/src/main/java/com/gingersoft/supply_chain/mvp/ui/fragment/warehouse/WareHousingDetailsFragment.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
supply_chain
.
mvp
.
ui
.
fragment
.
warehouse
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.gingersoft.supply_chain.R
;
import
com.gingersoft.supply_chain.di.component.DaggerWareHousingDetailsComponent
;
import
com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract
;
import
com.gingersoft.supply_chain.mvp.presenter.WareHousingDetailsPresenter
;
import
com.gingersoft.supply_chain.mvp.ui.fragment.BaseSupplyChainFragment
;
import
com.jess.arms.di.component.AppComponent
;
/**
* ================================================
* Description: 入庫庫存詳情
*/
public
class
WareHousingDetailsFragment
extends
BaseSupplyChainFragment
<
WareHousingDetailsPresenter
>
implements
WareHousingDetailsContract
.
View
{
public
static
WareHousingDetailsFragment
newInstance
()
{
WareHousingDetailsFragment
fragment
=
new
WareHousingDetailsFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerWareHousingDetailsComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_ware_housing_details
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
}
}
component-supply-chain/src/main/res/layout/fragment_order_details.xml
0 → 100644
View file @
8fbea4e5
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/color_f0"
android:orientation=
"vertical"
>
<include
layout=
"@layout/supply_chain_top_bar"
/>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginRight=
"@dimen/dp_10"
android:layout_marginBottom=
"@dimen/dp_10"
android:background=
"@drawable/shape_theme_eight_corners_bg"
app:layout_collapseMode=
"parallax"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:paddingLeft=
"@dimen/dp_10"
android:paddingTop=
"@dimen/dp_5"
android:paddingBottom=
"@dimen/dp_5"
>
<TextView
android:id=
"@+id/tv_order_details_supplier_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_16"
tools:text=
"海鮮天地"
/>
<TextView
android:id=
"@+id/tv_order_details_order_no"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_5"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_14"
tools:text=
"訂單號:DD0001"
/>
<TextView
android:id=
"@+id/tv_order_details_create_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_5"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_14"
tools:text=
"2020-11-20 12:00"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_order_details_order_state"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"end|center_vertical"
android:layout_marginRight=
"@dimen/dp_10"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_18"
tools:text=
"部分收貨"
/>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_order_details_food_list"
android:layout_width=
"match_parent"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:elevation=
"@dimen/dp_10"
android:background=
"@color/white"
android:orientation=
"vertical"
android:paddingTop=
"@dimen/dp_10"
android:paddingBottom=
"@dimen/dp_10"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/dp_20"
android:paddingRight=
"@dimen/dp_20"
>
<CheckBox
android:id=
"@+id/cb_order_details_all_selected"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"全選"
android:textColor=
"@color/color_3c"
android:textSize=
"@dimen/dp_14"
/>
<TextView
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_20"
android:text=
"食材種類:"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_order_details_food_type_total"
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/required_color"
tools:text=
"3"
/>
<View
android:layout_width=
"@dimen/dp_0"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
/>
<TextView
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_20"
android:text=
"總計:"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_order_details_total_amount"
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/required_color"
tools:text=
"$300.00"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/dp_20"
android:paddingTop=
"@dimen/dp_10"
android:paddingRight=
"@dimen/dp_20"
>
<TextView
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"文件上傳:"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_order_details_click_upload"
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"0dp"
android:layout_gravity=
"end"
android:layout_weight=
"1"
android:text=
"點擊上傳"
android:textColor=
"@color/click_upload_text_color"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_1"
android:background=
"@color/color_53"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_5"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/dp_20"
android:paddingRight=
"@dimen/dp_20"
>
<TextView
style=
"@style/supplier_chain_222_16"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"備註:"
/>
<EditText
android:id=
"@+id/ed_order_details_remark"
style=
"@style/supplier_chain_222_16"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:hint=
"手動輸入"
android:textColorHint=
"@color/color_c9"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_5"
android:gravity=
"center_horizontal"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/dp_10"
android:paddingRight=
"@dimen/dp_10"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_order_details_buy_again"
style=
"@style/Style_Btn_Green"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"再次購買"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_order_details_partial_receipt"
style=
"@style/Style_Btn_Yellow"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_12"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"部分收貨"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_order_details_receipt"
style=
"@style/Style_Btn_Brick_Red"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_12"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"收貨"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
View file @
8fbea4e5
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
order
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam
;
import
com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener
;
import
com.gingersoft.gsa.cloud.pay.pos.PosAction
;
...
...
@@ -16,7 +14,6 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.mvp.IView
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
...
...
@@ -30,12 +27,12 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
public
class
CancelOrder
implements
Strategy
<
OrderManagerResponse
>
{
private
final
String
TAG
=
"CancelOrder"
;
private
BaseFragmentActivity
mActivity
;
private
IView
mRootView
;
public
CancelOrder
(
BaseFragmentActivity
fragmentActivity
,
IView
rootView
)
{
this
.
mActivity
=
fragmentActivity
;
public
CancelOrder
(
BaseFragmentActivity
fragmentActivity
,
IView
rootView
){
this
.
mActivity
=
fragmentActivity
;
this
.
mRootView
=
rootView
;
}
...
...
@@ -46,8 +43,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
destroy
()
{
mActivity
=
null
;
mRootView
=
null
;
}
private
void
showCancelDialog
(
OrderManagerResponse
datasBean
)
{
...
...
@@ -57,10 +52,10 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
dialogBuilder
.
setMessage
(
"是否取消訂單?"
);
dialogBuilder
.
addAction
(
0
,
"確認"
,
QMUIDialogAction
.
ACTION_PROP_NEGATIVE
,
(
dialog
,
index
)
->
{
dialog
.
dismiss
();
if
(
datasBean
.
withHywebPay
()
&&
AppDevices
.
isHywebPos
()
)
{
if
(
datasBean
.
withHywebPay
())
{
hywebOrderCancle
(
datasBean
);
}
else
{
if
(
cancelListener
!=
null
)
{
if
(
cancelListener
!=
null
)
{
cancelListener
.
cancel
(
datasBean
.
getId
());
}
}
...
...
@@ -84,7 +79,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onPosSuccess
(
VoidRespose
response
)
{
LoganManager
.
w_code
(
TAG
,
"onPosSuccess: "
+
response
.
toString
());
if
(
cancelListener
!=
null
)
{
if
(
cancelListener
!=
null
)
{
cancelListener
.
refeshOrders
();
}
}
...
...
@@ -92,8 +87,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onPosException
(
Exception
e
)
{
LoganManager
.
w_code
(
TAG
,
"onPosException: "
+
e
.
getMessage
());
PosActionStatusExceptionFragment
statusExceptionFragment
=
(
PosActionStatusExceptionFragment
)
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
if
(
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
)
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
datasBean
.
getPayTxnId
());
statusExceptionParam
.
setAmount
(
datasBean
.
getAmount
());
...
...
@@ -102,8 +96,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam
.
setPayMethodName
(
"VISA測試"
);
statusExceptionParam
.
setPosAction
(
PosAction
.
VOID
);
mActivity
.
loadRootFragment
(
R
.
id
.
rl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
mActivity
.
start
(
statusExceptionFragment
);
}
}
...
...
@@ -135,14 +127,11 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
private
OnCancelListener
cancelListener
;
public
void
setCancelListener
(
OnCancelListener
cancelListener
)
{
this
.
cancelListener
=
cancelListener
;
}
public
interface
OnCancelListener
{
public
interface
OnCancelListener
{
void
cancel
(
long
orderId
);
void
refeshOrders
();
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/ModifyOrderAction.java
View file @
8fbea4e5
...
...
@@ -95,8 +95,7 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
@Override
public
void
destroy
()
{
mActivity
=
null
;
mRootView
=
null
;
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/PrintOrderAction.java
View file @
8fbea4e5
...
...
@@ -60,8 +60,6 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
@Override
public
void
destroy
()
{
mActivity
=
null
;
mRootView
=
null
;
}
private
void
startPrintOrder
(
OrderManagerResponse
orderDetailItem
,
List
<
OrderDetail
>
orderDetailList
)
{
...
...
@@ -98,48 +96,45 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
doshokuOrder
.
setBillMoney
(
payMethodList
);
}
if
(
orderDetailItem
.
withHywebPay
()
&&
AppDevices
.
isHywebPos
())
{
printPosStub
(
orderDetailItem
,
doshokuOrder
,
dataBean
);
}
else
{
printBill
(
orderDetailItem
,
doshokuOrder
,
dataBean
,
false
);
}
}
if
(
orderDetailItem
.
withHywebPay
())
{
if
(
AppDevices
.
isHywebPos
())
{
PosPay
.
printStub
(
mActivity
,
mRootView
,
orderDetailItem
.
getPayTxnId
(),
new
OnPosActionListener
()
{
@Override
public
void
onPosSuccess
(
HywebPosResponse
response
)
{
printBill
(
doshokuOrder
,
dataBean
);
}
private
void
printPosStub
(
OrderManagerResponse
orderDetailItem
,
DoshokuOrder
doshokuOrder
,
TableBean
.
DataBean
dataBean
)
{
PosPay
.
printStub
(
mActivity
,
mRootView
,
orderDetailItem
.
getPayTxnId
(),
new
OnPosActionListener
()
{
@Override
public
void
onPosSuccess
(
HywebPosResponse
response
)
{
if
(
printlListener
!=
null
){
printlListener
.
printPosStubResult
(
true
);
}
printBill
(
orderDetailItem
,
doshokuOrder
,
dataBean
,
true
);
}
@Override
public
void
onPosException
(
Exception
e
)
{
@Override
public
void
onPosException
(
Exception
e
)
{
if
(
printlListener
!=
null
){
printlListener
.
printPosStubResult
(
false
);
}
printBill
(
orderDetailItem
,
doshokuOrder
,
dataBean
,
true
);
}
}
@Override
public
void
onPosInvalid
(
String
e
)
{
printBill
(
orderDetailItem
,
doshokuOrder
,
dataBean
,
true
);
}
@Override
public
void
onPosInvalid
(
String
e
)
{
@Override
public
void
onUpdateStatusSuccess
(
HywebPosResponse
response
)
{
}
}
@Override
public
void
onUpdateStatusSuccess
(
HywebPosResponse
response
)
{
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
}
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
}
});
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
});
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
}
private
void
printBill
(
OrderManagerResponse
orderDetailItem
,
DoshokuOrder
doshokuOrder
,
TableBean
.
DataBean
dataBean
,
boolean
printStub
)
{
private
void
printBill
(
DoshokuOrder
doshokuOrder
,
TableBean
.
DataBean
dataBean
)
{
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationBillContent
(
doshokuOrder
,
dataBean
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_BILL
)
...
...
@@ -147,13 +142,11 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
if
(
printStub
)
{
printPosStub
(
orderDetailItem
,
doshokuOrder
,
dataBean
);
}
doshokuOrder
.
initialization
();
});
}
private
ArrayList
<
BillItem
>
getOrderMoneyList
(
OrderManagerResponse
orderDetailItem
,
double
totalMoney
)
{
List
<
SectionTextItem3
>
printOrderMoneyList
=
new
ArrayList
<>();
ArrayList
<
BillItem
>
printBillOrderMoneyList
=
new
ArrayList
<>();
...
...
@@ -274,12 +267,4 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
}
return
payMethodList
;
}
private
PrintOrderAction
.
OnPrintlListener
printlListener
;
public
void
setPrintlListener
(
OnPrintlListener
printlListener
)
{
this
.
printlListener
=
printlListener
;
}
public
interface
OnPrintlListener
{
void
printPosStubResult
(
boolean
success
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/RefundOrder.java
View file @
8fbea4e5
...
...
@@ -30,7 +30,7 @@ import java.util.List;
*/
public
class
RefundOrder
implements
Strategy
<
OrderManagerResponse
>
{
private
final
String
TAG
=
"RefundlOrder"
;
private
final
String
TAG
=
"RefundlOrder"
;
private
BaseFragmentActivity
mActivity
;
private
IView
mRootView
;
...
...
@@ -46,8 +46,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
destroy
()
{
mActivity
=
null
;
mRootView
=
null
;
}
private
void
showHywebRefundDialog
(
OrderManagerResponse
datasBean
)
{
...
...
@@ -89,8 +88,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onPosException
(
Exception
e
)
{
LoganManager
.
w_code
(
TAG
,
"onPosException: "
+
e
.
getMessage
());
PosActionStatusExceptionFragment
statusExceptionFragment
=
(
PosActionStatusExceptionFragment
)
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
if
(
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
)
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
datasBean
.
getPayTxnId
());
statusExceptionParam
.
setAmount
(
datasBean
.
getAmount
());
...
...
@@ -99,8 +97,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam
.
setPayMethodName
(
"VISA測試"
);
statusExceptionParam
.
setPosAction
(
PosAction
.
REFUND
);
mActivity
.
loadRootFragment
(
R
.
id
.
rl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
mActivity
.
start
(
statusExceptionFragment
);
}
}
...
...
@@ -118,8 +114,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
LoganManager
.
w_code
(
TAG
,
"onUpdateStatusError: "
+
e
.
getMessage
());
PosActionStatusExceptionFragment
statusExceptionFragment
=
(
PosActionStatusExceptionFragment
)
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
if
(
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
)
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
datasBean
.
getPayTxnId
());
statusExceptionParam
.
setAmount
(
datasBean
.
getAmount
());
...
...
@@ -128,8 +123,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam
.
setPayMethodName
(
"VISA測試"
);
statusExceptionParam
.
setPosAction
(
PosAction
.
REFUND
);
mActivity
.
loadRootFragment
(
R
.
id
.
rl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
mActivity
.
start
(
statusExceptionFragment
);
}
}
});
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/TipsOrder.java
View file @
8fbea4e5
...
...
@@ -42,8 +42,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
destroy
()
{
mActivity
=
null
;
mRootView
=
null
;
}
private
void
showKeyboardDialog
(
OrderManagerResponse
datasBean
)
{
...
...
@@ -77,8 +75,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onPosException
(
Exception
e
)
{
LoganManager
.
w_code
(
TAG
,
"onPosException: "
+
e
.
getMessage
());
PosActionStatusExceptionFragment
statusExceptionFragment
=
(
PosActionStatusExceptionFragment
)
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
if
(
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
)
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
datasBean
.
getPayTxnId
());
statusExceptionParam
.
setAmount
(
datasBean
.
getAmount
());
...
...
@@ -87,8 +84,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam
.
setPayMethodName
(
"VISA測試"
);
statusExceptionParam
.
setPosAction
(
PosAction
.
TIP
);
mActivity
.
loadRootFragment
(
R
.
id
.
rl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
mActivity
.
start
(
statusExceptionFragment
);
}
}
...
...
@@ -105,8 +100,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
LoganManager
.
w_code
(
TAG
,
"onUpdateStatusError: "
+
e
.
getMessage
());
PosActionStatusExceptionFragment
statusExceptionFragment
=
(
PosActionStatusExceptionFragment
)
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
if
(
mActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
)
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
datasBean
.
getPayTxnId
());
statusExceptionParam
.
setAmount
(
datasBean
.
getAmount
());
...
...
@@ -115,8 +109,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam
.
setPayMethodName
(
"VISA測試"
);
statusExceptionParam
.
setPosAction
(
PosAction
.
TIP
);
mActivity
.
loadRootFragment
(
R
.
id
.
rl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
mActivity
.
start
(
statusExceptionFragment
);
}
}
});
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/BillDiscountAction.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
android.app.Activity
;
import
android.text.InputType
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:賬單折扣邏輯
*/
public
class
BillDiscountAction
implements
Strategy
<
Discount
>
{
private
Activity
mContext
;
/**
* 賬單折扣列表
*/
private
List
<
NomalDiscount
>
mNomalDiscountList
;
private
OnCallBackListener
mListener
;
public
BillDiscountAction
(
Activity
context
,
OnCallBackListener
listener
)
{
this
.
mContext
=
context
;
this
.
mListener
=
listener
;
}
public
void
setNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
this
.
mNomalDiscountList
=
nomalDiscountList
;
}
@Override
public
void
action
(
Discount
discount
)
{
if
(
mListener
==
null
)
{
return
;
}
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
ArmsUtils
.
makeText
(
mContext
,
"此折扣只一次"
);
return
;
}
boolean
hasExclusive
=
hasExclusiveDiscount
();
if
(
hasExclusive
)
{
//有獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
else
{
if
(
discount
.
getExclusive
()
==
1
&&
mNomalDiscountList
.
size
()
>
0
)
{
//獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
}
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
false
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
false
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
preformAddDiscount
(
discount
.
clone
());
break
;
}
}
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mListener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
}
}
/**
* 是否有獨佔折扣
*
* @return
*/
private
boolean
hasExclusiveDiscount
()
{
for
(
NomalDiscount
nomalDiscount
:
mNomalDiscountList
)
{
if
(
nomalDiscount
.
getDiscount
().
getExclusive
()
==
1
)
{
return
true
;
}
}
return
false
;
}
/**
* 此折扣是否只一次
*
* @param discount
* @return
*/
private
boolean
isOnlyOnce
(
Discount
discount
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
for
(
NomalDiscount
nomalDiscount
:
mNomalDiscountList
)
{
Discount
item
=
nomalDiscount
.
getDiscount
();
if
(
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
return
true
;
}
}
}
return
false
;
}
/**
* 顯示自定義金額彈窗
*
* @param discount
*/
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mContext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
}
mListener
.
preformAddDiscount
(
discount
.
clone
());
}
}
});
}
/**
* 顯示子弟你金額彈窗 鍵盤
*
* @param discount
*/
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mContext
)
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
@Override
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
}
mListener
.
preformAddDiscount
(
discount
.
clone
());
}
}
})
.
show
();
}
/**
* 提示有獨佔折扣是否替換
*
* @param discount
*/
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
CommonTipDialog
.
showDoubtDialog2
(
mContext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
public
void
onSure
()
{
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
true
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
true
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
mListener
.
preformAddDiscount
(
discount
.
clone
());
break
;
}
}
});
}
public
interface
OnCallBackListener
{
void
exclusiveRemoveOthers
(
List
<
NomalDiscount
>
nomalDiscountList
);
void
preformAddDiscount
(
Discount
discount
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
android.app.Activity
;
import
android.text.InputType
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
/**
* @author : bin
* @create date: 2020-10-28
* @update date: 2020-10-28
* @description:美食折扣邏輯
*/
public
class
MealDiscountAction
implements
Strategy
<
Discount
>
{
private
Activity
mContext
;
/**
* 選中的食品或套餐組
*/
private
List
<
OrderDetail
>
mSelectMixOrderMealList
;
private
List
<
MultyDiscount
>
mMultyDiscountList
;
private
MealDiscountAction
.
OnCallBackListener
mListener
;
public
MealDiscountAction
(
Activity
context
,
List
<
MultyDiscount
>
multyDiscountList
,
MealDiscountAction
.
OnCallBackListener
listener
)
{
this
.
mContext
=
context
;
this
.
mMultyDiscountList
=
multyDiscountList
;
this
.
mListener
=
listener
;
}
public
void
setSelectMixOrderMealList
(
List
<
OrderDetail
>
selectMixOrderMealList
)
{
this
.
mSelectMixOrderMealList
=
selectMixOrderMealList
;
}
@Override
public
void
action
(
Discount
discount
)
{
if
(
mListener
==
null
||
mSelectMixOrderMealList
==
null
||
mSelectMixOrderMealList
.
size
()
==
0
)
{
return
;
}
double
mixTotalAomout
=
getMixTotalAomout
(
mSelectMixOrderMealList
);
if
(
discount
.
getType
()
==
0
&&
discount
.
getAmount
()
>
mixTotalAomout
){
//金額折扣總額不能超過 食品總金額
ArmsUtils
.
makeText
(
mContext
,
"折扣金額不可以超過食品總金額!"
);
return
;
}
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
//最小賬單金額
ArmsUtils
.
makeText
(
mContext
,
"小於最小賬單金額$"
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
}
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
ArmsUtils
.
makeText
(
mContext
,
"此折扣只一次"
);
return
;
}
boolean
hasExclusive
=
hasExclusiveDiscount
();
if
(
hasExclusive
)
{
//有獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
else
{
int
discountSize
=
getDiscountSize
();
if
(
discount
.
getExclusive
()
==
1
&&
discountSize
>
0
)
{
//獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
}
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
false
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
false
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
preformAddDiscount
(
discount
.
clone
());
break
;
}
}
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mListener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
}
}
/**
* 食品是否有獨佔折扣
*
* @return
*/
private
boolean
hasExclusiveDiscount
()
{
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMealList
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
&&
orderMealItem
.
getDiscount
().
getExclusive
()
==
1
)
{
return
true
;
}
}
return
false
;
}
/**
* 此折扣是否只一次
*
* @param discount
* @return
*/
private
boolean
isOnlyOnce
(
Discount
discount
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMealList
)
{
Discount
item
=
orderMealItem
.
getDiscount
();
if
(
item
!=
null
&&
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
return
true
;
}
}
}
return
false
;
}
/**
* 顯示自定義金額彈窗
*
* @param discount
*/
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mContext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
();
}
mListener
.
preformAddDiscount
(
discount
.
clone
());
}
}
});
}
/**
* 顯示子弟你金額彈窗 鍵盤
*
* @param discount
*/
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mContext
)
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
@Override
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
();
}
mListener
.
preformAddDiscount
(
discount
.
clone
());
}
}
})
.
show
();
}
/**
* 提示有獨佔折扣是否替換
*
* @param discount
*/
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
CommonTipDialog
.
showDoubtDialog2
(
mContext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
public
void
onSure
()
{
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
true
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
true
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
exclusiveRemoveOthers
();
mListener
.
preformAddDiscount
(
discount
.
clone
());
break
;
}
}
});
}
/**
* 獲取折扣數量
*
* @return
*/
private
int
getDiscountSize
()
{
int
size
=
0
;
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMealList
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
size
++;
}
}
return
size
;
}
/**
* 獲取套餐總金額
*
* @param mixOrderMealList
* @return
*/
private
double
getMixTotalAomout
(
List
<
OrderDetail
>
mixOrderMealList
)
{
double
mixTotalAomout
=
0.0
;
for
(
OrderDetail
orderDetail
:
mixOrderMealList
)
{
mixTotalAomout
=
MoneyUtil
.
sum
(
mixTotalAomout
,
orderDetail
.
getPrice
());
}
return
mixTotalAomout
;
}
public
interface
OnCallBackListener
{
void
exclusiveRemoveOthers
();
void
preformAddDiscount
(
Discount
discount
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/function/TableFunctionFactory.java
0 → 100644
View file @
8fbea4e5
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
function
;
import
com.gingersoft.gsa.cloud.common.function.FModule
;
import
com.gingersoft.gsa.cloud.table.R
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
public
class
TableFunctionFactory
{
public
static
final
String
BottomGroup
=
"/bottom/"
;
public
static
final
class
Bottom
{
}
/**
* 餐檯頁
*/
public
static
final
FModule
[]
bottom
=
{
new
FModule
(
"init"
,
R
.
mipmap
.
table_init
,
0
),
new
FModule
(
"initSkyorder"
,
R
.
mipmap
.
table_paper
,
0
),
new
FModule
(
"move"
,
R
.
mipmap
.
table_move
,
0
),
new
FModule
(
"skyorder"
,
0
,
0
),
new
FModule
(
"splite"
,
R
.
mipmap
.
table_splite
,
0
),
new
FModule
(
"table/bottom/parper"
,
R
.
mipmap
.
table_paper
,
0
),
};
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
8fbea4e5
...
...
@@ -150,7 +150,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
if
(
mNomalDiscountAction
!=
null
)
{
if
(
mNomalDiscountAction
!=
null
)
{
mNomalDiscountAction
.
destroy
();
}
stopTablePolling
();
...
...
@@ -249,7 +249,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override
public
void
onItemDeleteClick
(
BillItem
datasBean
,
int
position
)
{
removeBillItem
ByPosition
(
position
);
removeBillItem
(
position
);
}
});
}
...
...
@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mergeMainFoodNumber
(
mOrderMealList
);
}
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationServingPaperContent
(
DoshokuOrder
.
getInstance
(),
mTableInfo
);
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationServingPaperContent
(
DoshokuOrder
.
getInstance
(),
mTableInfo
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
...
...
@@ -432,7 +432,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mergeMainFoodNumber
(
mOrderMealList
);
}
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationPrintSlipContent
(
DoshokuOrder
.
getInstance
(),
mTableInfo
);
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationPrintSlipContent
(
DoshokuOrder
.
getInstance
(),
mTableInfo
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_SLIP
)
//印單
...
...
@@ -810,17 +810,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private
void
updateOrderDetails
(
BaseOrderResponse
info
)
{
if
(
mDoshokuOrder
!=
null
&&
info
.
getData
()
!=
null
)
{
mTableInfo
.
setPerson
(
info
.
getData
().
getPerson
());
mTableInfo
.
setCreateTime
(
info
.
getData
().
getCreateTime
());
mDoshokuOrder
.
setOpenTableInfo
(
mTableInfo
);
mDoshokuOrder
.
setOrderPlaced
(
info
.
getData
());
if
(
info
.
getData
().
getOrderDetails
()
!=
null
)
{
//组装食品信息
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
info
.
getData
().
getOrderDetails
()));
mDoshokuOrder
.
setNewFoodList
(
orderDetailList
);
mTableInfo
.
setPerson
(
info
.
getData
().
getPerson
());
//緩存訂單信息
mDoshokuOrder
.
setOrderPlaced
(
new
OrderResponse
(
info
.
getData
()));
//緩存食品信息
// List<OrderDetail> orderDetailList = OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails());
List
<
OrderDetail
>
orderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
info
.
getData
().
getOrderDetails
()));
mOrderMealList
.
clear
();
mOrderMealList
.
addAll
(
orderDetailList
);
...
...
@@ -877,7 +874,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return
true
;
}
public
void
removeBillItemByPosition
(
int
index
)
{
public
void
removeBillItem
(
int
index
)
{
if
(
index
<
mBillItemList
.
size
())
{
BillItem
billItem
=
mBillItemList
.
get
(
index
);
if
(
billItem
instanceof
DiscountItem
)
{
...
...
@@ -890,12 +888,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
/**
* 修改訂單包含修改或刪除過的的食品
*
* @return
*/
private
boolean
hasModifyFoods
()
{
for
(
OrderDetail
orderDetail
:
getOrderFoodLists
())
{
if
(
orderDetail
.
isModify
())
{
if
(
orderDetail
.
isModify
())
{
return
true
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
View file @
8fbea4e5
...
...
@@ -97,7 +97,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private
OrderCenterAdapter
mOrderCenterAdapter
;
private
List
<
OrderManagerResponse
>
mOrderItemList
=
new
ArrayList
<>();
private
OrderManagerResponse
mCheckedOrderBean
;
@Inject
public
AllOrderPresenter
(
AllOrderContract
.
Model
model
,
AllOrderContract
.
View
rootView
)
{
...
...
@@ -113,7 +112,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
this
.
IActivity
=
null
;
}
public
void
initOrderAdapter
(
Context
context
)
{
...
...
@@ -128,32 +126,24 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
intent
.
putExtra
(
"orderDetailItem"
,
datasBean
);
mRootView
.
launchActivity
(
intent
);
}
@Override
public
void
onPrintClick
(
OrderManagerResponse
datasBean
,
int
position
)
{
}
@Override
public
void
onModifyClick
(
OrderManagerResponse
datasBean
,
int
position
)
{
}
@Override
public
void
onCheckedChanged
(
OrderManagerResponse
checkedOrder
)
{
if
(
checkedOrder
.
isChecked
())
{
mCheckedOrderBean
=
checkedOrder
;
}
else
{
mCheckedOrderBean
=
null
;
}
IActivity
.
setOnCheckedChangedListener
(
mCheckedOrderBean
);
public
void
onCancelClick
(
OrderManagerResponse
datasBean
,
int
position
)
{
}
@Override
public
void
onReloadExceptionStatus
(
OrderManagerResponse
orderBean
,
String
txnId
)
{
PosActionStatusExceptionFragment
statusExceptionFragment
=
IActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
txnId
);
statusExceptionParam
.
setAmount
(
orderBean
.
getTotalAmount
());
statusExceptionParam
.
setOrderId
(
orderBean
.
getId
());
statusExceptionParam
.
setOrderNo
(
orderBean
.
getOrderNo
());
statusExceptionParam
.
setPayMethodName
(
orderBean
.
getPayNames
());
statusExceptionParam
.
setPosAction
(
orderBean
.
getPosActionByMatterId
());
IActivity
.
loadRootFragment
(
R
.
id
.
fl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
IActivity
.
start
(
statusExceptionFragment
);
}
public
void
onRefundClick
(
OrderManagerResponse
datasBean
,
int
position
)
{
}
@Override
public
void
onTipsClick
(
OrderManagerResponse
datasBean
,
int
position
)
{
}
});
}
...
...
@@ -173,8 +163,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
}
}
public
OrderManagerResponse
getCheckedOrderBean
()
{
return
mCheckedOrderBean
;
public
OrderManagerResponse
getSelectedOrderItem
(){
for
(
OrderManagerResponse
orderItem:
mOrderItemList
)
{
if
(
orderItem
.
isChecked
()){
return
orderItem
;
}
}
return
null
;
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/BaseOrderConterPresenter.java
View file @
8fbea4e5
...
...
@@ -74,7 +74,7 @@ public class BaseOrderConterPresenter<M extends IModel,V extends IView> extends
}
public
void
orderTips
(
BaseFragmentActivity
activity
,
OrderManagerResponse
orderItem
,
TipsOrder
.
OnRefundListener
listener
){
TipsOrder
tipsOrder
=
new
TipsOrder
(
activity
,
mRootView
);
TipsOrder
tipsOrder
=
new
TipsOrder
(
activity
,
mRootView
);
tipsOrder
.
action
(
orderItem
);
tipsOrder
.
setTipsListener
(
listener
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderDetailPresenter.java
View file @
8fbea4e5
...
...
@@ -8,7 +8,6 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment
;
import
com.gingersoft.gsa.cloud.pay.util.PayMethodUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract
;
...
...
@@ -57,7 +56,6 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
@Inject
AppManager
mAppManager
;
@Inject
public
OrderDetailPresenter
(
OrderDetailContract
.
Model
model
,
OrderDetailContract
.
View
rootView
)
{
super
(
model
,
rootView
);
...
...
@@ -89,6 +87,8 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
if
(
result
.
getData
()
!=
null
)
{
OrderManagerResponse
orderDetailItem
=
JsonUtils
.
parseObject
(
JsonUtils
.
toJson
(
result
.
getData
()),
OrderManagerResponse
.
class
);
mRootView
.
returnOrderDetail
(
orderDetailItem
);
//刷新訂單列表
EventBus
.
getDefault
().
post
(
true
,
"updateOrderListEvent"
);
}
else
{
mRootView
.
showMessage
(
"獲取賬單失敗"
);
}
...
...
@@ -116,7 +116,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
OrderManagerResponse
orderDetailItem
=
JsonUtils
.
parseObject
(
JsonUtils
.
toJson
(
result
.
getData
()),
OrderManagerResponse
.
class
);
mRootView
.
returnOrderDetail
(
orderDetailItem
);
//刷新訂單列表
EventBus
.
getDefault
().
post
(
true
,
PosActionStatusExceptionFragment
.
REFREAFSH_ORDER_EVENT
);
EventBus
.
getDefault
().
post
(
true
,
"updateOrderListEvent"
);
}
else
{
mRootView
.
showMessage
(
"獲取賬單失敗"
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderCenterActivity.java
View file @
8fbea4e5
...
...
@@ -5,7 +5,6 @@ import android.os.Bundle;
import
android.os.Message
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
android.widget.FrameLayout
;
import
android.widget.LinearLayout
;
...
...
@@ -16,7 +15,6 @@ import androidx.fragment.app.Fragment;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.order.contract.OrderStatusContract
;
import
com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerOrderCenterComponent
;
...
...
@@ -32,7 +30,6 @@ import com.jess.arms.base.BaseFragmentActivity;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.util.QMUIResHelper
;
...
...
@@ -76,23 +73,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@BindView
(
R2
.
id
.
ll_bottom
)
LinearLayout
ll_bottom
;
@BindView
(
R2
.
id
.
btn_print_order
)
QMUIAlphaButton
btn_print_order
;
@BindView
(
R2
.
id
.
btn_cancel_order
)
QMUIAlphaButton
btn_cancel_order
;
@BindView
(
R2
.
id
.
btn_refund
)
QMUIAlphaButton
btn_refund
;
@BindView
(
R2
.
id
.
btn_tips
)
QMUIAlphaButton
btn_tips
;
@BindView
(
R2
.
id
.
btn_modify_order
)
QMUIAlphaButton
btn_modify_order
;
private
AllOrderFragment
mNormalOrderFragment
,
mCancelOrderFragment
,
mVoidOrderFragment
;
//當前顯示頁下標
private
int
mCurrentFragmentIndex
=
0
;
//標題
private
String
[]
mTabTitles
=
{
"已付款"
,
"已取消"
};
// private String[] mTabTitles = {"堂食"};
// private String[] mTabTitles = {"堂食"};
//是否已經初始化數據,默認初始化第一個頁面
private
boolean
[]
mPageDataInit
=
{
true
,
false
,
false
};
...
...
@@ -120,68 +106,73 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
lp_content
=
new
FrameLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
initTabAndPager
();
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
getStatusByFragmentIndex
(),
0
,
10
,
null
,
false
);
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
getStatusByFragmentIndex
(),
0
,
10
,
null
,
false
);
}
@Subscriber
(
tag
=
PosActionStatusExceptionFragment
.
REFREAFSH_ORDER_EVENT
)
private
void
refreafshOrder
(
boolean
refreafsh
)
{
@Override
protected
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
}
@Subscriber
(
tag
=
"updateOrderListEvent"
)
private
void
updateOrderList
(
boolean
update
)
{
refeshOrderList
(
getStatusByFragmentIndex
());
}
public
void
refeshOrderList
(
String
status
)
{
setPageIndex
(
0
);
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
status
,
0
,
10
,
null
,
false
);
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
status
,
0
,
10
,
null
,
false
);
}
public
void
loadOrderList
(
String
orderType
,
String
status
,
RefreshLayout
refreshLayout
,
boolean
isLoadMore
)
{
public
void
loadOrderList
(
String
orderType
,
String
status
,
RefreshLayout
refreshLayout
,
boolean
isLoadMore
)
{
mPresenter
.
loadOrderList
(
orderType
,
status
,
getPageIndex
(),
getPageSize
(),
refreshLayout
,
isLoadMore
);
}
public
void
cancelOrder
(
long
orderId
,
String
orderType
,
String
status
)
{
mPresenter
.
cancelOrder
(
orderId
,
orderType
,
status
);
public
void
cancelOrder
(
long
orderId
,
String
orderType
,
String
status
)
{
mPresenter
.
cancelOrder
(
orderId
,
orderType
,
status
);
}
@OnClick
({
R2
.
id
.
btn_print_order
,
R2
.
id
.
btn_modify_order
,
R2
.
id
.
btn_tips
,
R2
.
id
.
btn_cancel_order
,
R2
.
id
.
btn_refund
})
public
void
OnClick
(
View
v
)
{
OrderManagerResponse
orderItem
=
getCurrentOrderFragment
().
getCheckedOrderBean
();
if
(
orderItem
!=
null
)
{
@OnClick
({
R2
.
id
.
btn_print_order
,
R2
.
id
.
btn_modify_order
,
R2
.
id
.
btn_tips
,
R2
.
id
.
btn_cancel_order
,
R2
.
id
.
btn_refund
})
public
void
OnClick
(
View
v
){
OrderManagerResponse
orderItem
=
getCurrentOrderFragment
().
getSelectedOrderItem
();
if
(
orderItem
!=
null
)
{
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_print_order
)
{
mPresenter
.
printOrder
(
this
,
orderItem
);
}
else
if
(
id
==
R
.
id
.
btn_modify_order
)
{
if
(
id
==
R
.
id
.
btn_print_order
)
{
mPresenter
.
printOrder
(
this
,
orderItem
);
}
else
if
(
id
==
R
.
id
.
btn_modify_order
)
{
if
(
orderItem
.
getRestaurantTable
()
==
null
)
{
showMessage
(
"餐檯不存在,無法修改訂單"
);
return
;
}
mPresenter
.
modifyOrder
(
this
,
orderItem
);
}
else
if
(
id
==
R
.
id
.
btn_tips
)
{
mPresenter
.
modifyOrder
(
this
,
orderItem
);
}
else
if
(
id
==
R
.
id
.
btn_tips
)
{
mPresenter
.
orderTips
(
this
,
orderItem
,
new
TipsOrder
.
OnRefundListener
()
{
@Override
public
void
refeshOrders
()
{
ref
reafshOrder
(
true
);
ref
eshOrderList
(
getStatusByFragmentIndex
()
);
}
});
}
else
if
(
id
==
R
.
id
.
btn_cancel_order
)
{
}
else
if
(
id
==
R
.
id
.
btn_cancel_order
)
{
mPresenter
.
orderCancel
(
this
,
orderItem
,
new
CancelOrder
.
OnCancelListener
()
{
@Override
public
void
cancel
(
long
orderId
)
{
cancelOrder
(
orderId
,
getOrderType
(),
getStatusByFragmentIndex
());
cancelOrder
(
orderId
,
getOrderType
(),
getStatusByFragmentIndex
());
}
@Override
public
void
refeshOrders
()
{
refreafshOrder
(
true
);
}
});
}
else
if
(
id
==
R
.
id
.
btn_refund
)
{
}
else
if
(
id
==
R
.
id
.
btn_refund
)
{
mPresenter
.
orderRefund
(
this
,
orderItem
,
new
RefundOrder
.
OnRefundListener
()
{
@Override
public
void
refeshOrders
()
{
refreafshOrder
(
true
);
}
});
@Override
public
void
refeshOrders
()
{
refeshOrderList
(
getStatusByFragmentIndex
()
);
}
});
}
}
else
{
}
else
{
showMessage
(
"請選中需要操作的訂單!"
);
}
}
...
...
@@ -251,7 +242,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
pagerAdapter
.
createFragment
(
index
);
if
(!
mPageDataInit
[
index
])
{
//未初始化數據,獲取數據
loadOrderList
(
getCurrentOrderFragment
().
getOrderType
(),
getStatusByFragmentIndex
(),
null
,
false
);
loadOrderList
(
getCurrentOrderFragment
().
getOrderType
(),
getStatusByFragmentIndex
(),
null
,
false
);
}
mPageDataInit
[
mCurrentFragmentIndex
]
=
true
;
...
...
@@ -372,29 +363,6 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
}
@Override
public
void
setOnCheckedChangedListener
(
OrderManagerResponse
checkOrderBean
)
{
if
(
checkOrderBean
!=
null
)
{
if
(
checkOrderBean
.
isCurrDeviceOrder
())
{
setBtnEnabled
(
btn_cancel_order
,
true
);
setBtnEnabled
(
btn_modify_order
,
true
);
}
else
{
setBtnEnabled
(
btn_cancel_order
,
false
);
setBtnEnabled
(
btn_modify_order
,
false
);
}
setBtnEnabled
(
btn_print_order
,
true
);
}
else
{
setBtnEnabled
(
btn_print_order
,
false
);
setBtnEnabled
(
btn_cancel_order
,
false
);
setBtnEnabled
(
btn_modify_order
,
false
);
}
}
private
void
setBtnEnabled
(
Button
btn
,
boolean
enabled
)
{
btn
.
setEnabled
(
enabled
);
btn
.
setClickable
(
enabled
);
}
@Override
public
AllOrderFragment
getCurrentOrderFragment
()
{
switch
(
mCurrentFragmentIndex
)
{
case
1
:
...
...
@@ -412,12 +380,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
}
@Override
public
String
getStatusByFragmentIndex
()
{
public
String
getStatusByFragmentIndex
(){
switch
(
mCurrentFragmentIndex
)
{
case
1
:
return
OrderStatusContract
.
STATUS_6
+
""
;
return
OrderStatusContract
.
STATUS_6
+
""
;
default
:
return
OrderStatusContract
.
STATUS_4
+
","
+
OrderStatusContract
.
STATUS_5
;
return
OrderStatusContract
.
STATUS_4
+
","
+
OrderStatusContract
.
STATUS_5
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
View file @
8fbea4e5
This diff is collapsed.
Click to expand it.
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
View file @
8fbea4e5
This diff is collapsed.
Click to expand it.
config.gradle
View file @
8fbea4e5
...
...
@@ -7,8 +7,8 @@ ext {
targetSdkVersion
:
29
,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode
:
2
1
,
versionName
:
"1.2.
1
"
versionCode
:
2
0
,
versionName
:
"1.2.
0
"
]
version
=
[
...
...
@@ -24,13 +24,6 @@ ext {
canarySdkVersion
:
"1.5.4"
,
]
buildType
=
[
debugLogDebug
:
"true"
,
debugUseCanary
:
"true"
,
releaseLogDebug
:
"true"
,
releaseUseCanary:
"false"
]
dependencies
=
[
//support
"appcompat-v7"
:
'androidx.appcompat:appcompat:1.0.2'
,
//不要超過1.0.2,不然android5.1.1用webview會有問題
...
...
@@ -134,6 +127,7 @@ ext {
"yzjRecyclerView"
:
"com.yanzhenjie.recyclerview:x:1.3.2"
,
//搜索view
"MultiSearchView"
:
"com.github.iammert:MultiSearchView:0.3"
,
// 狀態欄基础依赖包,必须要依赖
"immersionbar"
:
"com.gyf.immersionbar:immersionbar:3.0.0"
,
// fragment快速实现(可选)
...
...
@@ -143,9 +137,7 @@ ext {
//美團點評-日誌監聽https://github.com/Meituan-Dianping/Logan/tree/master/Example/Logan-Android
"logan"
:
'com.dianping.android.sdk:logan:1.2.4'
,
//滴滴開源 哆啦A夢:辅助开发工具、测试效率工具、视觉辅助工具
"doraemonkit"
:
'com.didichuxing.doraemonkit:dokitx:3.3.3'
,
//popup
'xpopup'
:
'com.lxj:xpopup:2.2.10'
"doraemonkit"
:
'com.didichuxing.doraemonkit:dokitx:3.3.3'
]
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/utils/AidlUtil.java
0 → 100644
View file @
8fbea4e5
This diff is collapsed.
Click to expand it.
library-updateApk/src/main/res/xml/update_file_paths.xml
0 → 100644
View file @
8fbea4e5
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
path=
""
name=
"files_root"
/>
</paths>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment