diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 912889f..124abfe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -885,6 +885,26 @@ } /** + * 证书报告-审批拒绝 + */ + suspend fun refuse(taskId: String, comments: String): String { + val param = JsonObject() + param.addProperty("taskId", taskId) + param.addProperty("comments", comments) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.refuse(AuthenticationHelper.token!!, requestBody) + } + + /** + * 证书报告审批记录 + */ + suspend fun getApprovalProcess(processId: String): String { + return api.getApprovalProcess(AuthenticationHelper.token!!, processId) + } + + /** * 全局搜索 */ suspend fun getGlobalSearchResult( diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 912889f..124abfe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -885,6 +885,26 @@ } /** + * 证书报告-审批拒绝 + */ + suspend fun refuse(taskId: String, comments: String): String { + val param = JsonObject() + param.addProperty("taskId", taskId) + param.addProperty("comments", comments) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.refuse(AuthenticationHelper.token!!, requestBody) + } + + /** + * 证书报告审批记录 + */ + suspend fun getApprovalProcess(processId: String): String { + return api.getApprovalProcess(AuthenticationHelper.token!!, processId) + } + + /** * 全局搜索 */ suspend fun getGlobalSearchResult( diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt index 020a181..17d5c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt @@ -3,6 +3,7 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.CertificateViewModel import com.casic.xz.meterage.vm.UserViewModel @@ -11,6 +12,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_approval_operation.* import kotlinx.android.synthetic.main.include_base_title.* @@ -43,6 +45,12 @@ finish() } } + + certificateViewModel.refuseResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { @@ -91,6 +99,25 @@ } }).build().show() } + + if(refuseButton.isChecked){ + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否拒绝该证书报告审批?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + certificateViewModel.refuse(taskId, remarkView.text.toString()) + } + + override fun onCancelClick() { + + } + }).build().show() + } } cancelButton.setOnClickListener { finish() } @@ -99,7 +126,12 @@ override fun initLayoutView(): Int = R.layout.activity_approval_operation override fun observeRequestState() { - + certificateViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 912889f..124abfe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -885,6 +885,26 @@ } /** + * 证书报告-审批拒绝 + */ + suspend fun refuse(taskId: String, comments: String): String { + val param = JsonObject() + param.addProperty("taskId", taskId) + param.addProperty("comments", comments) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.refuse(AuthenticationHelper.token!!, requestBody) + } + + /** + * 证书报告审批记录 + */ + suspend fun getApprovalProcess(processId: String): String { + return api.getApprovalProcess(AuthenticationHelper.token!!, processId) + } + + /** * 全局搜索 */ suspend fun getGlobalSearchResult( diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt index 020a181..17d5c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt @@ -3,6 +3,7 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.CertificateViewModel import com.casic.xz.meterage.vm.UserViewModel @@ -11,6 +12,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_approval_operation.* import kotlinx.android.synthetic.main.include_base_title.* @@ -43,6 +45,12 @@ finish() } } + + certificateViewModel.refuseResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { @@ -91,6 +99,25 @@ } }).build().show() } + + if(refuseButton.isChecked){ + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否拒绝该证书报告审批?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + certificateViewModel.refuse(taskId, remarkView.text.toString()) + } + + override fun onCancelClick() { + + } + }).build().show() + } } cancelButton.setOnClickListener { finish() } @@ -99,7 +126,12 @@ override fun initLayoutView(): Int = R.layout.activity_approval_operation override fun observeRequestState() { - + certificateViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt index f4ea0c1..bad7697 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt @@ -37,9 +37,6 @@ "待审批" -> { approvalView.text = "审批" } - "审批中" -> { - approvalView.text = "审批" - } "可打印" -> { approvalView.text = "打印" } @@ -56,7 +53,7 @@ detailModel = it.data fragmentPages.add(BasicInformationFragment(detailModel)) - fragmentPages.add(ApprovalProcessFragment()) + fragmentPages.add(ApprovalProcessFragment(args[3])) fragmentPages.add(ExceptionReportFragment()) val pageTitles = arrayOf("基础信息", "审批流程", "异常报告") diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 912889f..124abfe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -885,6 +885,26 @@ } /** + * 证书报告-审批拒绝 + */ + suspend fun refuse(taskId: String, comments: String): String { + val param = JsonObject() + param.addProperty("taskId", taskId) + param.addProperty("comments", comments) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.refuse(AuthenticationHelper.token!!, requestBody) + } + + /** + * 证书报告审批记录 + */ + suspend fun getApprovalProcess(processId: String): String { + return api.getApprovalProcess(AuthenticationHelper.token!!, processId) + } + + /** * 全局搜索 */ suspend fun getGlobalSearchResult( diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt index 020a181..17d5c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt @@ -3,6 +3,7 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.CertificateViewModel import com.casic.xz.meterage.vm.UserViewModel @@ -11,6 +12,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_approval_operation.* import kotlinx.android.synthetic.main.include_base_title.* @@ -43,6 +45,12 @@ finish() } } + + certificateViewModel.refuseResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { @@ -91,6 +99,25 @@ } }).build().show() } + + if(refuseButton.isChecked){ + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否拒绝该证书报告审批?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + certificateViewModel.refuse(taskId, remarkView.text.toString()) + } + + override fun onCancelClick() { + + } + }).build().show() + } } cancelButton.setOnClickListener { finish() } @@ -99,7 +126,12 @@ override fun initLayoutView(): Int = R.layout.activity_approval_operation override fun observeRequestState() { - + certificateViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt index f4ea0c1..bad7697 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt @@ -37,9 +37,6 @@ "待审批" -> { approvalView.text = "审批" } - "审批中" -> { - approvalView.text = "审批" - } "可打印" -> { approvalView.text = "打印" } @@ -56,7 +53,7 @@ detailModel = it.data fragmentPages.add(BasicInformationFragment(detailModel)) - fragmentPages.add(ApprovalProcessFragment()) + fragmentPages.add(ApprovalProcessFragment(args[3])) fragmentPages.add(ExceptionReportFragment()) val pageTitles = arrayOf("基础信息", "审批流程", "异常报告") diff --git a/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt index b4d52f9..1607533 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt @@ -5,6 +5,7 @@ import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.ActionResultModel +import com.casic.xz.meterage.model.ApprovalProcessModel import com.casic.xz.meterage.model.CertificateDetailModel import com.casic.xz.meterage.model.CertificateListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -26,6 +27,8 @@ val submitResult = MutableLiveData() val agreeResult = MutableLiveData() val rejectResult = MutableLiveData() + val refuseResult = MutableLiveData() + val processResult = MutableLiveData() fun getCertificateReportList( approvalStatus: String, @@ -141,4 +144,42 @@ it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) + + fun refuse(taskId: String, comments: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.refuse(taskId, comments) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + refuseResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun getApprovalProcess(processId: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getApprovalProcess(processId) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + processResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt index e925e72..2ed6d54 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/certificate/CertificateReportFragment.kt @@ -146,7 +146,12 @@ viewHolder.setOnClickListener(R.id.showDetailButton) { requireContext().navigatePageTo( - addAll(item.approvalStatusName, item.id, item.taskId) + addAll( + item.approvalStatusName, + item.id, + item.taskId, + item.processId + ) ) } } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index 8f1672b..d045b49 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -404,6 +404,24 @@ ): String /** + * 证书报告-审批拒绝 + */ + @POST("/approval/operate/refuse") + suspend fun refuse( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** + * 证书报告审批记录 + */ + @GET("/approval/operate/approvalLog") + suspend fun getApprovalProcess( + @Header("token") token: String, + @Query("processId") processId: String + ): String + + /** * 全局搜索 */ @POST("/meter/assets/queryEquipment") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 912889f..124abfe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -885,6 +885,26 @@ } /** + * 证书报告-审批拒绝 + */ + suspend fun refuse(taskId: String, comments: String): String { + val param = JsonObject() + param.addProperty("taskId", taskId) + param.addProperty("comments", comments) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.refuse(AuthenticationHelper.token!!, requestBody) + } + + /** + * 证书报告审批记录 + */ + suspend fun getApprovalProcess(processId: String): String { + return api.getApprovalProcess(AuthenticationHelper.token!!, processId) + } + + /** * 全局搜索 */ suspend fun getGlobalSearchResult( diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt index 020a181..17d5c9f 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/ApprovalOperationActivity.kt @@ -3,6 +3,7 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.CertificateViewModel import com.casic.xz.meterage.vm.UserViewModel @@ -11,6 +12,7 @@ import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.SaveKeyValues +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import kotlinx.android.synthetic.main.activity_approval_operation.* import kotlinx.android.synthetic.main.include_base_title.* @@ -43,6 +45,12 @@ finish() } } + + certificateViewModel.refuseResult.observe(this) { + if (it.code == 200) { + finish() + } + } } override fun initEvent() { @@ -91,6 +99,25 @@ } }).build().show() } + + if(refuseButton.isChecked){ + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否拒绝该证书报告审批?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + certificateViewModel.refuse(taskId, remarkView.text.toString()) + } + + override fun onCancelClick() { + + } + }).build().show() + } } cancelButton.setOnClickListener { finish() } @@ -99,7 +126,12 @@ override fun initLayoutView(): Int = R.layout.activity_approval_operation override fun observeRequestState() { - + certificateViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt index f4ea0c1..bad7697 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CertificateReportDetailActivity.kt @@ -37,9 +37,6 @@ "待审批" -> { approvalView.text = "审批" } - "审批中" -> { - approvalView.text = "审批" - } "可打印" -> { approvalView.text = "打印" } @@ -56,7 +53,7 @@ detailModel = it.data fragmentPages.add(BasicInformationFragment(detailModel)) - fragmentPages.add(ApprovalProcessFragment()) + fragmentPages.add(ApprovalProcessFragment(args[3])) fragmentPages.add(ExceptionReportFragment()) val pageTitles = arrayOf("基础信息", "审批流程", "异常报告") diff --git a/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt index b4d52f9..1607533 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/CertificateViewModel.kt @@ -5,6 +5,7 @@ import com.casic.xz.meterage.extensions.separateResponseCode import com.casic.xz.meterage.extensions.toErrorMessage import com.casic.xz.meterage.model.ActionResultModel +import com.casic.xz.meterage.model.ApprovalProcessModel import com.casic.xz.meterage.model.CertificateDetailModel import com.casic.xz.meterage.model.CertificateListModel import com.casic.xz.meterage.utils.retrofit.RetrofitServiceManager @@ -26,6 +27,8 @@ val submitResult = MutableLiveData() val agreeResult = MutableLiveData() val rejectResult = MutableLiveData() + val refuseResult = MutableLiveData() + val processResult = MutableLiveData() fun getCertificateReportList( approvalStatus: String, @@ -141,4 +144,42 @@ it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) + + fun refuse(taskId: String, comments: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.refuse(taskId, comments) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + refuseResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun getApprovalProcess(processId: String) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getApprovalProcess(processId) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + processResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_approval_operation.xml b/app/src/main/res/layout/activity_approval_operation.xml index b73dfe2..04235c5 100644 --- a/app/src/main/res/layout/activity_approval_operation.xml +++ b/app/src/main/res/layout/activity_approval_operation.xml @@ -53,6 +53,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:text="驳回" /> + +