管灌系统巡查员智能手机App
zuoxiao
2024-12-18 32275aa66faa5371467e291b7d19a5e782f8aade
app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
@@ -3,15 +3,19 @@
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.dayu.pipirrapp.MyApplication;
import com.dayu.pipirrapp.R;
import com.dayu.pipirrapp.activity.OrderDetailActivity;
import com.dayu.pipirrapp.adapter.OrderAdapter;
@@ -27,8 +31,6 @@
import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.header.ClassicsHeader;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
import java.util.ArrayList;
import java.util.HashMap;
@@ -42,18 +44,29 @@
 * 备注:首页
 */
public class OrderFragment extends BaseFragment {
    public static final int RESULT_REFRESH = 1001;
    private final int STATE_DONE = 2;
    private final int STATE_UNDONE = 1;
    FragmentOrderBinding binding;
    OrderAdapter mAdapter;
    OrderAdapter mDoneAdapter;
    int page = 1;
    int pageSize = 10;
    int state = 1;
    List<OrderListResult.Data> recordsListDone = new ArrayList<>();
    List<OrderListResult.Data> recordsList = new ArrayList<>();
    RefreshLayout myRefreshLayout;
    private ActivityResultLauncher<Intent> activityResultLauncher =
            registerForActivityResult(
                    new ActivityResultContracts.StartActivityForResult(),
                    result -> {
                        if (result.getResultCode() == RESULT_REFRESH) {
                            myRefreshLayout.autoRefresh();
                        }
                    });
    /**
     * 设置天气相关信息
@@ -81,57 +94,43 @@
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        binding = FragmentOrderBinding.inflate(inflater, container, false);
        initView();
        //获取定位服务传过来的坐标点
        //mq传来的消息
        LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() {
            @Override
            public void onChanged(Object o) {
            }
        });
        return binding.getRoot();
    }
    void initView() {
        //未完成
        binding.manageStateProgress.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                chooseStateView(true);
                state = STATE_UNDONE;//1 未开始 2 已完成
        binding.manageStateProgress.setOnClickListener(v -> {
            chooseStateView(true);
            state = STATE_UNDONE;//1 未开始 2 已完成
            }
        });
        //已完成
        binding.manageStateFinish.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                chooseStateView(false);
                state = STATE_DONE;//1 未开始 2 已完成
            }
        binding.manageStateFinish.setOnClickListener(v -> {
            chooseStateView(false);
            state = STATE_DONE;//1 未开始 2 已完成
        });
        //未完成
        RefreshLayout myRefreshLayout = (RefreshLayout) binding.refreshLayout;
        myRefreshLayout = (RefreshLayout) binding.refreshLayout;
        myRefreshLayout.setRefreshHeader(new ClassicsHeader(this.getContext()));
        myRefreshLayout.setRefreshFooter(new ClassicsFooter(this.getContext()));
        myRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(RefreshLayout refreshlayout) {
        myRefreshLayout.setOnRefreshListener(refreshlayout -> {
//                refreshlayout.finishRefresh(2000/*,false*/);//传入false表示刷新失败
                recordsList.clear();
                page = 0;
                getMarkerData(refreshlayout, true, STATE_UNDONE);
            }
            recordsList.clear();
            page = 0;
            getMarkerData(refreshlayout, true, STATE_UNDONE);
        });
        myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(RefreshLayout refreshlayout) {
                page = page + 1;
                getMarkerData(refreshlayout, false, STATE_UNDONE);
            }
        myRefreshLayout.setOnLoadMoreListener(refreshlayout -> {
            page = page + 1;
            getMarkerData(refreshlayout, false, STATE_UNDONE);
        });
        mAdapter = new OrderAdapter(this.getContext(), recordsList, this);
@@ -143,26 +142,20 @@
        RefreshLayout myRefreshLayoutDone = (RefreshLayout) binding.refreshLayoutDone;
        myRefreshLayoutDone.setRefreshHeader(new ClassicsHeader(this.getContext()));
        myRefreshLayoutDone.setRefreshFooter(new ClassicsFooter(this.getContext()));
        myRefreshLayoutDone.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(RefreshLayout refreshlayout) {
        myRefreshLayoutDone.setOnRefreshListener(refreshlayout -> {
//                refreshlayout.finishRefresh(2000/*,false*/);//传入false表示刷新失败
                recordsList.clear();
                page = 0;
                getMarkerData(refreshlayout, true, STATE_DONE);
            }
            recordsListDone.clear();
            page = 0;
            getMarkerData(refreshlayout, true, STATE_DONE);
        });
        myRefreshLayoutDone.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(RefreshLayout refreshlayout) {
                page = page + 1;
                getMarkerData(refreshlayout, false, STATE_DONE);
            }
        myRefreshLayoutDone.setOnLoadMoreListener(refreshlayout -> {
            page = page + 1;
            getMarkerData(refreshlayout, false, STATE_DONE);
        });
        mAdapter = new OrderAdapter(this.getContext(), recordsListDone, this);
        mDoneAdapter = new OrderAdapter(this.getContext(), recordsListDone, this);
        LinearLayoutManager layoutManagerDone = new LinearLayoutManager(this.getContext());
        binding.recyclerViewDone.setLayoutManager(layoutManagerDone);
        binding.recyclerViewDone.setAdapter(mAdapter);
        binding.recyclerViewDone.setAdapter(mDoneAdapter);
        getMarkerData(myRefreshLayoutDone, true, 2);
    }
@@ -189,7 +182,7 @@
        params.put("pageSize", pageSize);
        params.put("pageCurr", page);
        params.put("state", state);
//        params.put("inspectorId", MyApplication.myApplication.userId);
        params.put("inspectorId", MyApplication.myApplication.userId);
        ApiManager.getInstance().requestGetHideLoading(this.getContext(), Constants.BASE_URL + "/app/workOrder/getWorkOrders", OrderListResult.class, params, new SubscriberListener<BaseResponse<OrderListResult>>() {
            @Override
@@ -202,7 +195,7 @@
                            } else {
                                recordsListDone.addAll(t.getContent().getObj());
                            }
                            if (t.getContent().getObj().size() < pageSize) {
                            if (t.getContent().getPageTotal() == page) {
                                refreshlayout.finishLoadMoreWithNoMoreData();
                            }
                        } else {
@@ -218,16 +211,23 @@
            public void onCloose() {
                super.onCloose();
                layoutFinish(refreshlayout, isRefresh);
                mAdapter.notifyDataSetChanged();
                if (state == STATE_UNDONE) {
                    mAdapter.notifyDataSetChanged();
                } else {
                    mDoneAdapter.notifyDataSetChanged();
                }
            }
        });
    }
    public void startDetail(String id) {
    public void startDetail(String workOrderId, String proResultId) {
        Intent intent = new Intent(this.getContext(), OrderDetailActivity.class);
        intent.putExtra("workOrderId", id);
        startActivity(intent);
        intent.putExtra("workOrderId", workOrderId);
        if (!TextUtils.isEmpty(proResultId)) {
            intent.putExtra("proResultId", proResultId);
        }
        activityResultLauncher.launch(intent);
    }
@@ -239,20 +239,20 @@
    void chooseStateView(boolean state) {
        if (state) {
            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color));
            binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit));
            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color,null));
            binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit,null));
            binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black));
            binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg));
            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black,null));
            binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg,null));
            binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
            binding.refreshLayout.setVisibility(View.VISIBLE);
            binding.refreshLayoutDone.setVisibility(View.GONE);
        } else {
            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color));
            binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit));
            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color,null));
            binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit,null));
            binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black));
            binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg));
            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black,null));
            binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg,null));
            binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
            binding.refreshLayout.setVisibility(View.GONE);
            binding.refreshLayoutDone.setVisibility(View.VISIBLE);