Browse Source

2025-02-25 新增

新增:
1. 三公费用录入 - 培训费 添加费用标准
2. 三公费用录入 草稿 - 培训费 添加费用标准
3. 三公费用录入 费用 3 - 6 选择城市后, 选择的城市置顶
4. 三公费用录入 草稿 费用 3 - 6 选择城市后, 选择的城市置顶
5. 三公费用录入 草稿 添加获取最新费用
zhaiy 1 month ago
parent
commit
f6be18a5bb
17 changed files with 115 additions and 35 deletions
  1. 0 0
      .kotlin/sessions/kotlin-compiler-4450826250592448466.salive
  2. 2 2
      app/build.gradle
  3. 4 0
      app/src/main/java/com/pan_american/android/OASystem.kt
  4. 9 8
      app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_detail/entity/EntryAndExitPaymentPrinciple.kt
  5. 1 1
      app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_draft/network/EntryAndExitDraftTipsRequest.kt
  6. 8 0
      app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_draft/network/NewestDraftVisaPaymentResponse.kt
  7. 8 0
      app/src/main/java/com/pan_american/android/data/network/APIService.kt
  8. 9 0
      app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_detail/EntryAndExitFeeTotalFragment.kt
  9. 22 2
      app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_detail/EntryAndExitPaymentDetailActivity.kt
  10. 22 5
      app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/EntryAndExitDraftPaymentDetailActivity.kt
  11. 9 0
      app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/EntryAndExitFeeDraftTotalFragment.kt
  12. 8 12
      app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/InBoardFeeDraftFragment.kt
  13. 1 1
      app/src/main/res/layout/fragment_in_board_fee_draft.xml
  14. 3 1
      app/src/main/res/layout/popup_accounts_receivable_report_detail.xml
  15. 3 1
      app/src/main/res/layout/popup_add_new_draft.xml
  16. 3 1
      app/src/main/res/layout/popup_assgin_permission.xml
  17. 3 1
      app/src/main/res/layout/popup_expense_approval_paayment_detail.xml

+ 0 - 0
.kotlin/sessions/kotlin-compiler-4450826250592448466.salive


+ 2 - 2
app/build.gradle

@@ -16,8 +16,8 @@ android {
         minSdk 24
         minSdk 24
         //noinspection OldTargetApi
         //noinspection OldTargetApi
         targetSdk 34
         targetSdk 34
-        versionCode 10
-        versionName "1.0.9"
+        versionCode 11
+        versionName "1.0.10"
 
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
     }

+ 4 - 0
app/src/main/java/com/pan_american/android/OASystem.kt

@@ -10,6 +10,7 @@ import com.pan_american.android.data.model.common.entity.Selector
 import com.pan_american.android.data.model.common.entity.SiftListItem
 import com.pan_american.android.data.model.common.entity.SiftListItem
 import com.pan_american.android.data.model.customer_resource.market_sales_revenue.entity.YearQuarterlyData
 import com.pan_american.android.data.model.customer_resource.market_sales_revenue.entity.YearQuarterlyData
 import com.pan_american.android.data.model.group_hotel.hotel_predetermine.entity.UpdateHotelPredetermine
 import com.pan_american.android.data.model.group_hotel.hotel_predetermine.entity.UpdateHotelPredetermine
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity.EntryAndExitPaymentPrinciple
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalResponse
 import com.pan_american.android.data.model.group_management.group_info.entity.GroupCustomerInfo
 import com.pan_american.android.data.model.group_management.group_info.entity.GroupCustomerInfo
@@ -369,6 +370,9 @@ class OASystem : Application() {
 
 
         //三公费用 草稿 返回体
         //三公费用 草稿 返回体
         var entryAndExitDraftResponse = EntryAndExitDraftTotalResponse()
         var entryAndExitDraftResponse = EntryAndExitDraftTotalResponse()
+
+        //三公费用 & 草稿 最后一次选择的国家
+        var entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
     }
     }
 
 
     override fun onCreate() {
     override fun onCreate() {

+ 9 - 8
app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_detail/entity/EntryAndExitPaymentPrinciple.kt

@@ -1,12 +1,13 @@
 package com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity
 package com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity
 
 
 data class EntryAndExitPaymentPrinciple(
 data class EntryAndExitPaymentPrinciple(
-    val id: Int,
-    val area: String,
-    val currency: Int,
-    val currencyCode: String,
-    val currencyName: String,
-    val roomCost: Double,
-    val foodCost: Double,
-    val publicCost: Double
+    val id: Int = 0,
+    val area: String = "",
+    val currency: Int = 0,
+    val currencyCode: String = "",
+    val currencyName: String = "",
+    val roomCost: Double = 0.0,
+    val foodCost: Double = 0.0,
+    val publicCost: Double = 0.0,
+    val trainCost: Double = 0.0
 )
 )

+ 1 - 1
app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_draft/network/EntryAndExitDraftTipsRequest.kt

@@ -1,3 +1,3 @@
 package com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network
 package com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network
 
 
-class EntryAndExitDraftTipsRequest(val portType: Int = 2, val tipsType: Int)
+class EntryAndExitDraftTipsRequest(val portType: Int = 2, val tipsType: Int, val draftId: Int)

+ 8 - 0
app/src/main/java/com/pan_american/android/data/model/group_management/entry_and_exit_fee_draft/network/NewestDraftVisaPaymentResponse.kt

@@ -0,0 +1,8 @@
+package com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network
+
+import com.pan_american.android.base.BaseResponse
+
+class NewestDraftVisaPaymentResponse(val data: Data): BaseResponse() {
+
+    inner class Data (val totalAmt: Double, val remark: String)
+}

+ 8 - 0
app/src/main/java/com/pan_american/android/data/network/APIService.kt

@@ -194,10 +194,12 @@ import com.pan_american.android.data.model.group_management.entry_and_exit_fee_d
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentTypeRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentTypeRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPermissionRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPermissionRequest
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTipsRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTotalResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InBoardDraftDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InBoardDraftDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InternationalTravelPaymentDraftResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InternationalTravelPaymentDraftResponse
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.NewestDraftVisaPaymentResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.OtherPaymentDraftDataSourceRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.OtherPaymentDraftDataSourceRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.OtherPaymentDraftDataSourceResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.OtherPaymentDraftDataSourceResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.SynchronizeDraftToGroupRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.SynchronizeDraftToGroupRequest
@@ -1501,6 +1503,12 @@ interface APIService {
     @POST("/api/Groups/EnterExitCostDraftMobileOpStep1")
     @POST("/api/Groups/EnterExitCostDraftMobileOpStep1")
     fun updateInBoardDraftPayment(@Body updateInBoardDraftPaymentRequest: UpdateInBoardDraftPaymentRequest): Call<UpdateInBoardDraftPaymentResponse>
     fun updateInBoardDraftPayment(@Body updateInBoardDraftPaymentRequest: UpdateInBoardDraftPaymentRequest): Call<UpdateInBoardDraftPaymentResponse>
 
 
+    /**
+     * 出入境费用明细 - 草稿, 获取最新签证费用
+     */
+    @POST("/api/Groups/EnterExitCostDraftMobileFeeTips")
+    fun getNewestDraftVisaPayment(@Body entryAndExitDraftTipsRequest: EntryAndExitDraftTipsRequest): Call<NewestDraftVisaPaymentResponse>
+
     /**
     /**
      * 出入境费用明细 - 草稿, 获取国际旅费详细
      * 出入境费用明细 - 草稿, 获取国际旅费详细
      */
      */

+ 9 - 0
app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_detail/EntryAndExitFeeTotalFragment.kt

@@ -15,6 +15,7 @@ import com.pan_american.android.base.BaseResponse
 import com.pan_american.android.base.CustomAlertDialog
 import com.pan_american.android.base.CustomAlertDialog
 import com.pan_american.android.base.ListAdapter
 import com.pan_american.android.base.ListAdapter
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity.EntryAndExitFileItem
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity.EntryAndExitFileItem
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity.EntryAndExitPaymentPrinciple
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDocumentListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitDocumentListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitFileDownloadRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitFileDownloadRequest
@@ -267,6 +268,8 @@ class EntryAndExitFeeTotalFragment : BaseFragment<FragmentEntryAndExitFeeTotalBi
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.mealFee.setOnClickListener {
         binding.mealFee.setOnClickListener {
@@ -286,6 +289,8 @@ class EntryAndExitFeeTotalFragment : BaseFragment<FragmentEntryAndExitFeeTotalBi
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.publicAndMiscellaneousFee.setOnClickListener {
         binding.publicAndMiscellaneousFee.setOnClickListener {
@@ -305,6 +310,8 @@ class EntryAndExitFeeTotalFragment : BaseFragment<FragmentEntryAndExitFeeTotalBi
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.trainingFee.setOnClickListener {
         binding.trainingFee.setOnClickListener {
@@ -324,6 +331,8 @@ class EntryAndExitFeeTotalFragment : BaseFragment<FragmentEntryAndExitFeeTotalBi
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_detail_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.otherFee.setOnClickListener {
         binding.otherFee.setOnClickListener {

+ 22 - 2
app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_detail/EntryAndExitPaymentDetailActivity.kt

@@ -138,8 +138,10 @@ class EntryAndExitPaymentDetailActivity : BaseActivity<ActivityEntryAndExitPayme
         binding.city.setOnClickListener {
         binding.city.setOnClickListener {
             entryAndExitPaymentPrincipleRequest.apply {
             entryAndExitPaymentPrincipleRequest.apply {
                 pageIndex = 1
                 pageIndex = 1
+                search = ""
             }
             }
 
 
+            principleData.clear()
             getCityAndPaymentPrincipleData(1)
             getCityAndPaymentPrincipleData(1)
         }
         }
 
 
@@ -208,8 +210,16 @@ class EntryAndExitPaymentDetailActivity : BaseActivity<ActivityEntryAndExitPayme
                     if (dataResponse != null) {
                     if (dataResponse != null) {
                         if (dataResponse.code == 200) {
                         if (dataResponse.code == 200) {
 
 
+                            if (OASystem.entryAndExitLastChoiceCity.id != 0) {
+                                if (!principleData.contains(OASystem.entryAndExitLastChoiceCity)) {
+                                    principleData.add(OASystem.entryAndExitLastChoiceCity)
+                                }
+                            }
+
                             for (item in dataResponse.data) {
                             for (item in dataResponse.data) {
-                                principleData.add(item)
+                                if (OASystem.entryAndExitLastChoiceCity.id != item.id) {
+                                    principleData.add(item)
+                                }
                             }
                             }
 
 
                             when (type) {
                             when (type) {
@@ -296,7 +306,7 @@ class EntryAndExitPaymentDetailActivity : BaseActivity<ActivityEntryAndExitPayme
 
 
                                                         var paymentPrinciple = 0.0
                                                         var paymentPrinciple = 0.0
 
 
-                                                        when (type) {
+                                                        when (updateEntryAndExitPaymentDetailRequest.feeType) {
                                                             3 -> {
                                                             3 -> {
                                                                 binding.paymentPrinciple.setText(
                                                                 binding.paymentPrinciple.setText(
                                                                     "$roomCost"
                                                                     "$roomCost"
@@ -320,6 +330,14 @@ class EntryAndExitPaymentDetailActivity : BaseActivity<ActivityEntryAndExitPayme
 
 
                                                                 paymentPrinciple = publicCost
                                                                 paymentPrinciple = publicCost
                                                             }
                                                             }
+
+                                                            6 -> {
+                                                                binding.paymentPrinciple.setText(
+                                                                    "$trainCost"
+                                                                )
+
+                                                                paymentPrinciple = trainCost
+                                                            }
                                                         }
                                                         }
 
 
                                                         for (item in OASystem.entryAndExitDetailResponse.currencys) {
                                                         for (item in OASystem.entryAndExitDetailResponse.currencys) {
@@ -332,6 +350,8 @@ class EntryAndExitPaymentDetailActivity : BaseActivity<ActivityEntryAndExitPayme
                                                                     )
                                                                     )
                                                             }
                                                             }
                                                         }
                                                         }
+
+                                                        OASystem.entryAndExitLastChoiceCity = this
                                                     }
                                                     }
 
 
                                                     popupWindow.dismiss()
                                                     popupWindow.dismiss()

+ 22 - 5
app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/EntryAndExitDraftPaymentDetailActivity.kt

@@ -3,7 +3,6 @@ package com.pan_american.android.ui.group_management.entry_and_exit_fee_draft
 import android.os.Bundle
 import android.os.Bundle
 import android.text.Editable
 import android.text.Editable
 import android.text.TextWatcher
 import android.text.TextWatcher
-import android.util.Log
 import android.view.Gravity
 import android.view.Gravity
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
@@ -13,7 +12,6 @@ import android.widget.PopupWindow
 import android.widget.TextView
 import android.widget.TextView
 import androidx.core.content.res.ResourcesCompat
 import androidx.core.content.res.ResourcesCompat
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
-import com.google.gson.Gson
 import com.pan_american.android.OASystem
 import com.pan_american.android.OASystem
 import com.pan_american.android.R
 import com.pan_american.android.R
 import com.pan_american.android.base.BaseActivity
 import com.pan_american.android.base.BaseActivity
@@ -140,8 +138,10 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
         binding.city.setOnClickListener {
         binding.city.setOnClickListener {
             entryAndExitPaymentPrincipleRequest.apply {
             entryAndExitPaymentPrincipleRequest.apply {
                 pageIndex = 1
                 pageIndex = 1
+                search = ""
             }
             }
 
 
+            principleData.clear()
             getCityAndPaymentPrincipleData(1)
             getCityAndPaymentPrincipleData(1)
         }
         }
 
 
@@ -210,8 +210,16 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
                     if (dataResponse != null) {
                     if (dataResponse != null) {
                         if (dataResponse.code == 200) {
                         if (dataResponse.code == 200) {
 
 
+                            if (OASystem.entryAndExitLastChoiceCity.id != 0) {
+                                if (!principleData.contains(OASystem.entryAndExitLastChoiceCity)) {
+                                    principleData.add(OASystem.entryAndExitLastChoiceCity)
+                                }
+                            }
+
                             for (item in dataResponse.data) {
                             for (item in dataResponse.data) {
-                                principleData.add(item)
+                                if (OASystem.entryAndExitLastChoiceCity.id != item.id) {
+                                    principleData.add(item)
+                                }
                             }
                             }
 
 
                             when (type) {
                             when (type) {
@@ -298,7 +306,7 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
 
 
                                                         var paymentPrinciple = 0.0
                                                         var paymentPrinciple = 0.0
 
 
-                                                        when (type) {
+                                                        when (updateEntryAndExitDraftPaymentDetailRequest.feeType) {
                                                             3 -> {
                                                             3 -> {
                                                                 binding.paymentPrinciple.setText(
                                                                 binding.paymentPrinciple.setText(
                                                                     "$roomCost"
                                                                     "$roomCost"
@@ -322,6 +330,14 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
 
 
                                                                 paymentPrinciple = publicCost
                                                                 paymentPrinciple = publicCost
                                                             }
                                                             }
+
+                                                            6 -> {
+                                                                binding.paymentPrinciple.setText(
+                                                                    "$trainCost"
+                                                                )
+
+                                                                paymentPrinciple = trainCost
+                                                            }
                                                         }
                                                         }
 
 
                                                         for (item in OASystem.entryAndExitDraftResponse.currencys) {
                                                         for (item in OASystem.entryAndExitDraftResponse.currencys) {
@@ -334,6 +350,8 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
                                                                     )
                                                                     )
                                                             }
                                                             }
                                                         }
                                                         }
+
+                                                        OASystem.entryAndExitLastChoiceCity = this
                                                     }
                                                     }
 
 
                                                     popupWindow.dismiss()
                                                     popupWindow.dismiss()
@@ -462,7 +480,6 @@ class EntryAndExitDraftPaymentDetailActivity : BaseActivity<ActivityEntryAndExit
     }
     }
 
 
     private fun updateEntryAndExitPaymentDetail() {
     private fun updateEntryAndExitPaymentDetail() {
-        Log.e("request", Gson().toJson(updateEntryAndExitDraftPaymentDetailRequest))
         apiService.updateEntryAndExitDraftPaymentDetail(updateEntryAndExitDraftPaymentDetailRequest).enqueue(object :
         apiService.updateEntryAndExitDraftPaymentDetail(updateEntryAndExitDraftPaymentDetailRequest).enqueue(object :
             Callback<BaseResponse> {
             Callback<BaseResponse> {
             override fun onResponse(call: Call<BaseResponse>, response: Response<BaseResponse>) {
             override fun onResponse(call: Call<BaseResponse>, response: Response<BaseResponse>) {

+ 9 - 0
app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/EntryAndExitFeeDraftTotalFragment.kt

@@ -23,6 +23,7 @@ import com.pan_american.android.base.BaseResponse
 import com.pan_american.android.base.CustomAlertDialog
 import com.pan_american.android.base.CustomAlertDialog
 import com.pan_american.android.base.ListAdapter
 import com.pan_american.android.base.ListAdapter
 import com.pan_american.android.data.model.common.entity.Selector
 import com.pan_american.android.data.model.common.entity.Selector
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.entity.EntryAndExitPaymentPrinciple
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitGroupListRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitGroupListRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitGroupListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitGroupListResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.DraftFileTypeResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.DraftFileTypeResponse
@@ -291,6 +292,8 @@ class EntryAndExitFeeDraftTotalFragment :
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.mealFee.setOnClickListener {
         binding.mealFee.setOnClickListener {
@@ -310,6 +313,8 @@ class EntryAndExitFeeDraftTotalFragment :
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.publicAndMiscellaneousFee.setOnClickListener {
         binding.publicAndMiscellaneousFee.setOnClickListener {
@@ -329,6 +334,8 @@ class EntryAndExitFeeDraftTotalFragment :
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.trainingFee.setOnClickListener {
         binding.trainingFee.setOnClickListener {
@@ -348,6 +355,8 @@ class EntryAndExitFeeDraftTotalFragment :
                 R.anim.slide_right_out
                 R.anim.slide_right_out
             ).addToBackStack(null)
             ).addToBackStack(null)
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
                 .add(R.id.entry_and_exit_draft_container, paymentListFragment).commit()
+
+            OASystem.entryAndExitLastChoiceCity = EntryAndExitPaymentPrinciple()
         }
         }
 
 
         binding.otherFee.setOnClickListener {
         binding.otherFee.setOnClickListener {

+ 8 - 12
app/src/main/java/com/pan_american/android/ui/group_management/entry_and_exit_fee_draft/InBoardFeeDraftFragment.kt

@@ -1,18 +1,16 @@
 package com.pan_american.android.ui.group_management.entry_and_exit_fee_draft
 package com.pan_american.android.ui.group_management.entry_and_exit_fee_draft
 
 
 import android.os.Bundle
 import android.os.Bundle
-import android.util.Log
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
-import com.google.gson.Gson
 import com.pan_american.android.OASystem
 import com.pan_american.android.OASystem
 import com.pan_american.android.R
 import com.pan_american.android.R
 import com.pan_american.android.base.BaseFragment
 import com.pan_american.android.base.BaseFragment
-import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.EntryAndExitTipsRequest
-import com.pan_american.android.data.model.group_management.entry_and_exit_fee_detail.network.NewestVisaPaymentResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentTypeRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftPaymentTypeRequest
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.EntryAndExitDraftTipsRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InBoardDraftDetailResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.InBoardDraftDetailResponse
+import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.NewestDraftVisaPaymentResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.UpdateInBoardDraftPaymentRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.UpdateInBoardDraftPaymentRequest
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.UpdateInBoardDraftPaymentResponse
 import com.pan_american.android.data.model.group_management.entry_and_exit_fee_draft.network.UpdateInBoardDraftPaymentResponse
 import com.pan_american.android.data.network.APIService
 import com.pan_american.android.data.network.APIService
@@ -176,11 +174,11 @@ class InBoardFeeDraftFragment : BaseFragment<FragmentInBoardFeeDraftBinding>() {
             return
             return
         }
         }
 
 
-        apiService.getNewestVisaPayment(EntryAndExitTipsRequest(groupId = draftId, tipsType = 2))
-            .enqueue(object : Callback<NewestVisaPaymentResponse> {
+        apiService.getNewestDraftVisaPayment(EntryAndExitDraftTipsRequest(draftId = draftId, tipsType = 2))
+            .enqueue(object : Callback<NewestDraftVisaPaymentResponse> {
                 override fun onResponse(
                 override fun onResponse(
-                    call: Call<NewestVisaPaymentResponse>,
-                    response: Response<NewestVisaPaymentResponse>
+                    call: Call<NewestDraftVisaPaymentResponse>,
+                    response: Response<NewestDraftVisaPaymentResponse>
                 ) {
                 ) {
                     val detailResponse = response.body()
                     val detailResponse = response.body()
 
 
@@ -188,7 +186,7 @@ class InBoardFeeDraftFragment : BaseFragment<FragmentInBoardFeeDraftBinding>() {
                         if (detailResponse.code == 200) {
                         if (detailResponse.code == 200) {
 
 
                             detailResponse.data.apply {
                             detailResponse.data.apply {
-                                binding.visaPrice.setText("$feeTotal")
+                                binding.visaPrice.setText("$totalAmt")
 
 
                                 binding.visaDescription.setText(remark)
                                 binding.visaDescription.setText(remark)
 
 
@@ -201,7 +199,7 @@ class InBoardFeeDraftFragment : BaseFragment<FragmentInBoardFeeDraftBinding>() {
                     }
                     }
                 }
                 }
 
 
-                override fun onFailure(p0: Call<NewestVisaPaymentResponse>, p1: Throwable) {
+                override fun onFailure(p0: Call<NewestDraftVisaPaymentResponse>, p1: Throwable) {
                     showErrorInfo(R.string.newest_visa_payment_get_error)
                     showErrorInfo(R.string.newest_visa_payment_get_error)
                 }
                 }
             })
             })
@@ -209,8 +207,6 @@ class InBoardFeeDraftFragment : BaseFragment<FragmentInBoardFeeDraftBinding>() {
 
 
     private fun updateInBoardPayment(updateInBoardPaymentRequest: UpdateInBoardDraftPaymentRequest) {
     private fun updateInBoardPayment(updateInBoardPaymentRequest: UpdateInBoardDraftPaymentRequest) {
 
 
-        Log.e("request", Gson().toJson(updateInBoardPaymentRequest))
-
         if (!isAdded) {
         if (!isAdded) {
             return
             return
         }
         }

+ 1 - 1
app/src/main/res/layout/fragment_in_board_fee_draft.xml

@@ -125,7 +125,7 @@
                         android:text="@string/get_newest_visa_payment"
                         android:text="@string/get_newest_visa_payment"
                         android:textColor="@color/white"
                         android:textColor="@color/white"
                         android:textSize="@dimen/text_size_small"
                         android:textSize="@dimen/text_size_small"
-                        android:visibility="gone" />
+                        android:visibility="visible" />
 
 
                 </LinearLayout>
                 </LinearLayout>
 
 

+ 3 - 1
app/src/main/res/layout/popup_accounts_receivable_report_detail.xml

@@ -2,8 +2,10 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_height="match_parent"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:orientation="vertical"
-    android:background="@drawable/shape_corner_background_color">
+    android:background="@drawable/shape_corner_background_color"
+    tools:viewBindingIgnore="true">
 
 
     <TextView
     <TextView
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 3 - 1
app/src/main/res/layout/popup_add_new_draft.xml

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:orientation="vertical"
     android:layout_width="wrap_content"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
-    android:background="@drawable/shape_corner_white">
+    android:background="@drawable/shape_corner_white"
+    tools:viewBindingIgnore="true">
 
 
     <TextView
     <TextView
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 3 - 1
app/src/main/res/layout/popup_assgin_permission.xml

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/white">
+    android:background="@color/white"
+    tools:viewBindingIgnore="true">
 
 
     <TextView
     <TextView
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 3 - 1
app/src/main/res/layout/popup_expense_approval_paayment_detail.xml

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:orientation="vertical"
     android:background="@drawable/shape_corner_stroke_white"
     android:background="@drawable/shape_corner_stroke_white"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    tools:viewBindingIgnore="true">
 
 
     <TextView
     <TextView
         android:layout_width="match_parent"
         android:layout_width="match_parent"