From 596d0bcbacd8dde70f0bbcfdf07db5cf694220ef Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 08 一月 2025 09:33:20 +0800
Subject: [PATCH] 1.修复上传文件取消上传还会上传bug 2.添加上传视频功能 3.添加关闭activity时关闭上传功能。
---
app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 211 insertions(+), 10 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
index dc59338..091139a 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -1,23 +1,48 @@
package com.dayu.pipirrapp.activity;
+import android.app.NotificationManager;
+import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
+import android.view.View;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
+import com.dayu.pipirrapp.MyApplication;
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.adapter.ImageAdapter;
+import com.dayu.pipirrapp.bean.net.DealDetailResult;
+import com.dayu.pipirrapp.bean.net.ImageResult;
import com.dayu.pipirrapp.bean.net.OrderDetailResult;
import com.dayu.pipirrapp.databinding.ActivityOrderDetailBinding;
+import com.dayu.pipirrapp.fragment.OrderFragment;
import com.dayu.pipirrapp.net.ApiManager;
import com.dayu.pipirrapp.net.BaseResponse;
import com.dayu.pipirrapp.net.Constants;
import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
+import com.dayu.pipirrapp.utils.CommonKeyName;
import com.dayu.pipirrapp.utils.ToastUtil;
+import com.dayu.pipirrapp.view.ConfirmDialog;
import com.dayu.pipirrapp.view.TitleBar;
+import com.jeremyliao.liveeventbus.LiveEventBus;
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration;
+import com.luck.picture.lib.utils.DensityUtil;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+
+import cc.shinichi.library.ImagePreview;
/**
* OrderDetailActivity -
@@ -30,27 +55,75 @@
public class OrderDetailActivity extends BaseActivity {
ActivityOrderDetailBinding binding;
String workOrderId;
+ String proResultId;
+ ImageAdapter mAdapter;
+ List<ImageResult> images = new ArrayList<>();
+ RecyclerView mRecyclerView;
+ final List<String> imageInfoList = new ArrayList<>();
+ int ProResultStateId;
+ private ActivityResultLauncher<Intent> activityResultLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.StartActivityForResult(),
+ result -> {
+ if (result.getResultCode() == OrderFragment.RESULT_REFRESH) {
+ setResult(OrderFragment.RESULT_REFRESH);
+ finish();
+ }
+ });
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityOrderDetailBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
-
- new TitleBar(this).setTitleText("宸ュ崟璇︽儏");
+ new TitleBar(this).setTitleText("宸ュ崟璇︽儏").setLeftIco().setLeftIcoListening(v -> OrderDetailActivity.this.finish());
initView();
+ getData(this.getIntent());
}
- void initView() {
- workOrderId = this.getIntent().getStringExtra("workOrderId");
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ getData(intent);
+ }
+
+ private void getData(Intent intent) {
+
+ workOrderId = intent.getStringExtra("workOrderId");
+ NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
+ notificationManager.cancel(workOrderId.hashCode());
+ if (this.getIntent().hasExtra("proResultId")) {
+ binding.orderDealLL.setVisibility(View.VISIBLE);
+ proResultId = this.getIntent().getStringExtra("proResultId");
+ getHandleData(proResultId);
+ } else {
+ binding.orderDealLL.setVisibility(View.GONE);
+ }
if (!TextUtils.isEmpty(workOrderId)) {
getMarkerData(workOrderId);
} else {
this.finish();
ToastUtil.showToastLong(this, "褰撳墠workOrderId涓虹┖");
}
- binding.setItemclidk(OrderDetailActivity.this);
+ }
+
+ void initView() {
+ binding.setItemclidk(OrderDetailActivity.this);
+ mRecyclerView = binding.recyclerView;
+ FullyGridLayoutManager manager = new FullyGridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false);
+ mRecyclerView.setLayoutManager(manager);
+ RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator();
+ if (itemAnimator != null) {
+ ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false);
+ }
+ // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
+ mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
+ mAdapter = new ImageAdapter(this, images, (v, position) -> {
+ ImagePreview.getInstance().setContext(OrderDetailActivity.this).setImageList(imageInfoList).start();
+
+ });
+ mRecyclerView.setAdapter(mAdapter);
}
/**
@@ -59,13 +132,97 @@
private void getMarkerData(String workOrderId) {
Map<String, Object> params = new HashMap<>();
params.put("workOrderId", workOrderId);
- ApiManager.getInstance().requestGetHideLoading(this, Constants.BASE_URL + "/app/workOrder/getOneWorkOrder", OrderDetailResult.class, params, new SubscriberListener<BaseResponse<OrderDetailResult>>() {
+ ApiManager.getInstance().requestGet(this, Constants.BASE_URL + "/app/workOrder/getOneWorkOrder", OrderDetailResult.class, params, new SubscriberListener<BaseResponse<OrderDetailResult>>() {
@Override
public void onNext(BaseResponse<OrderDetailResult> t) {
if (t.isSuccess()) {
+ LiveEventBus.get(CommonKeyName.RedLotRefresh).post(workOrderId);
+ if (t.getContent() != null) {
+ OrderDetailResult orderDetailResult = t.getContent();
+ binding.setData(orderDetailResult);
+ if (!TextUtils.isEmpty(t.getContent().getProResultId()) && TextUtils.isEmpty(proResultId)) {
+ getHandleData(orderDetailResult.getProResultId());
+ }
+ ProResultStateId = orderDetailResult.getProResultStateId();
+ switch (ProResultStateId) {
+ case 0://鏈笂鎶�
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_no_bg, null));
+ binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color, null));
+ binding.dealButton.setVisibility(View.VISIBLE);
+ break;
+ case 1://宸蹭笂鎶�
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_wait_bg, null));
+ binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color, null));
+ binding.dealButton.setVisibility(View.VISIBLE);
+ binding.dealButton.setText("鍒犻櫎澶勭悊缁撴灉");
+ break;
+ case 2://宸插畬鎴�
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_finish_bg, null));
+ binding.dealButton.setVisibility(View.GONE);
+ break;
+ case 3://琚┏鍥�
+ binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+ binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_reject_bg, null));
+ binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color));
+ binding.dealButton.setVisibility(View.VISIBLE);
+ break;
+
+ }
+ } else {
+ ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+ }
+ } else if (t.DATA_NULL.equals(t.getCode())) {
+ //宸ュ崟宸茶鍒犻櫎
+ ToastUtil.showToast(OrderDetailActivity.this, "璁㈠崟宸茶鍒犻櫎锛�");
+ setResult(OrderFragment.RESULT_REFRESH);
+ OrderDetailActivity.this.finish();
+
+ } else {
+
+ ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+ OrderDetailActivity.this.finish();
+ }
+
+ }
+
+ @Override
+ public void onCloose() {
+ super.onCloose();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ ToastUtil.showToastLong(OrderDetailActivity.this, "鑾峰彇璇︽儏澶辫触锛岃绋嶅悗鍐嶈瘯");
+ OrderDetailActivity.this.finish();
+ }
+ });
+ }
+
+
+ /**
+ * 鑾峰彇澶勭悊璇︽儏
+ */
+ private void getHandleData(String proResultId) {
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("proResultId", proResultId);
+ ApiManager.getInstance().requestGet(this, Constants.BASE_URL + "/app/workOrder/getProResult", DealDetailResult.class, params, new SubscriberListener<BaseResponse<DealDetailResult>>() {
+ @Override
+ public void onNext(BaseResponse<DealDetailResult> t) {
+ if (t.isSuccess()) {
if (t.isSuccess()) {
if (t.getContent() != null) {
- binding.setData(t.getContent());
+ binding.orderDealLL.setVisibility(View.VISIBLE);
+ binding.setDealData(t.getContent());
+ images.addAll(t.getContent().getImages());
+ for (ImageResult imageResult : images) {
+ imageInfoList.add(imageResult.getWebPath());
+ }
+ mAdapter.notifyDataSetChanged();
} else {
ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
}
@@ -83,11 +240,55 @@
});
}
+ /**
+ * 鍒犻櫎澶勭悊璇︽儏
+ */
+ private void deleteDealData() {
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("proResultId", proResultId);
+ params.put("inspectorId", MyApplication.myApplication.userId);
+ ApiManager.getInstance().requestPost(this, Constants.BASE_URL + "/app/workOrder/deleteProResult", DealDetailResult.class, params, new SubscriberListener<BaseResponse<DealDetailResult>>() {
+ @Override
+ public void onNext(BaseResponse<DealDetailResult> t) {
+ if (t.isSuccess()) {
+ if (t.isSuccess()) {
+ ToastUtil.showToastLong(OrderDetailActivity.this, "鍒犻櫎鎴愬姛!");
+ setResult(OrderFragment.RESULT_REFRESH);
+ OrderDetailActivity.this.finish();
+ }
+ } else {
+ ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+ }
+ }
+
+ @Override
+ public void onCloose() {
+ super.onCloose();
+ }
+
+ });
+ }
public void startDealActivity() {
- Intent intent = new Intent(this, OrderDealActivity.class);
- intent.putExtra("workOrderId", workOrderId);
- startActivity(intent);
+
+ switch (ProResultStateId) {
+ case 0:
+ case 3:
+ Intent intent = new Intent(this, OrderDealActivity.class);
+ intent.putExtra("workOrderId", workOrderId);
+ activityResultLauncher.launch(intent);
+ break;
+ case 1:
+ ConfirmDialog confirmDialog = new ConfirmDialog(this, "纭鍒犻櫎璇ュ鐞嗙粨鏋滃悧锛�", (confirmDialog1, v) -> {
+ confirmDialog1.dismiss();
+ deleteDealData();
+ });
+ confirmDialog.show();
+ break;
+ }
+
+
}
}
--
Gitblit v1.8.0