diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 10ec294..005b947 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -110,11 +110,11 @@ public void onChanged(CaseCheckBean resultBean) { clearPictureMarker(); if (resultBean.isSuccess()) { - List rowsBeans = resultBean.getData().getRows(); + List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { List list = new ArrayList<>(); List pointList = new ArrayList<>(); - for (CaseCheckBean.DataBean.RowsBean bean : rowsBeans) { + for (CaseCheckBean.DataDTO.RowsDTO bean : rowsBeans) { String lng = bean.getLng(); String lat = bean.getLat(); if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 10ec294..005b947 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -110,11 +110,11 @@ public void onChanged(CaseCheckBean resultBean) { clearPictureMarker(); if (resultBean.isSuccess()) { - List rowsBeans = resultBean.getData().getRows(); + List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { List list = new ArrayList<>(); List pointList = new ArrayList<>(); - for (CaseCheckBean.DataBean.RowsBean bean : rowsBeans) { + for (CaseCheckBean.DataDTO.RowsDTO bean : rowsBeans) { String lng = bean.getLng(); String lat = bean.getLat(); if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java index 6943ef7..eceecf6 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -80,7 +80,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -120,9 +120,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 10ec294..005b947 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -110,11 +110,11 @@ public void onChanged(CaseCheckBean resultBean) { clearPictureMarker(); if (resultBean.isSuccess()) { - List rowsBeans = resultBean.getData().getRows(); + List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { List list = new ArrayList<>(); List pointList = new ArrayList<>(); - for (CaseCheckBean.DataBean.RowsBean bean : rowsBeans) { + for (CaseCheckBean.DataDTO.RowsDTO bean : rowsBeans) { String lng = bean.getLng(); String lat = bean.getLat(); if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java index 6943ef7..eceecf6 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -80,7 +80,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -120,9 +120,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java index da2550b..ba8dc72 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckedDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckedFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -82,7 +82,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -122,9 +122,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 10ec294..005b947 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -110,11 +110,11 @@ public void onChanged(CaseCheckBean resultBean) { clearPictureMarker(); if (resultBean.isSuccess()) { - List rowsBeans = resultBean.getData().getRows(); + List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { List list = new ArrayList<>(); List pointList = new ArrayList<>(); - for (CaseCheckBean.DataBean.RowsBean bean : rowsBeans) { + for (CaseCheckBean.DataDTO.RowsDTO bean : rowsBeans) { String lng = bean.getLng(); String lat = bean.getLat(); if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java index 6943ef7..eceecf6 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -80,7 +80,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -120,9 +120,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java index da2550b..ba8dc72 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckedDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckedFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -82,7 +82,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -122,9 +122,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/app/src/main/res/layout/activity_case_check_detail.xml b/app/src/main/res/layout/activity_case_check_detail.xml index 9aa0483..c93347f 100644 --- a/app/src/main/res/layout/activity_case_check_detail.xml +++ b/app/src/main/res/layout/activity_case_check_detail.xml @@ -270,7 +270,9 @@ - + - - - - - - - - - + style="@style/rightImageStyle" /> diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c57967..e09c7c6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,9 @@ + + @@ -32,6 +34,7 @@ + diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java deleted file mode 100644 index 5941dfd..0000000 --- a/app/src/main/java/com/casic/dcms/adapter/CaseCheckResultAdapter.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.casic.dcms.adapter; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.casic.dcms.R; -import com.casic.dcms.mvvm.model.CaseCheckBean; -import com.casic.dcms.utils.StringHelper; - -import java.util.List; - -public class CaseCheckResultAdapter extends RecyclerView.Adapter { - - private final List dataBeans; - private final LayoutInflater layoutInflater; - - public CaseCheckResultAdapter(Context context, List dataRows) { - this.dataBeans = dataRows; - layoutInflater = LayoutInflater.from(context); - } - - @NonNull - @Override - public CaseCheckResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false); - return new CaseCheckResultAdapter.ItemViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull CaseCheckResultAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { - holder.bindView(dataBeans.get(position)); - if (clickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - clickListener.onClick(position); - } - }); - } - } - - @Override - public int getItemCount() { - return dataBeans.size(); - } - - static class ItemViewHolder extends RecyclerView.ViewHolder { - -// private final TextView leftTextView; - private final TextView caseTitleView; - private final TextView casePlaceView; - private final TextView caseTimeView; - - ItemViewHolder(@NonNull View itemView) { - super(itemView); -// leftTextView = itemView.findViewById(R.id.leftTextView); - caseTitleView = itemView.findViewById(R.id.caseTitleView); - casePlaceView = itemView.findViewById(R.id.casePlaceView); - caseTimeView = itemView.findViewById(R.id.caseTimeView); - } - - @SuppressLint("SetTextI18n") - void bindView(CaseCheckBean.DataBean.RowsBean rowsBean) { - String eorcName = rowsBean.getEorcName(); - if (TextUtils.isEmpty(eorcName)) { - eorcName = "未知"; - } -// leftTextView.setText(eorcName.substring(0, 1)); - caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); - casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); - caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); - } - } - - private OnItemClickListener clickListener; - - public interface OnItemClickListener { - void onClick(int position); - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.clickListener = onItemClickListener; - } -} diff --git a/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java new file mode 100644 index 0000000..5120e2c --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CheckCaseListAdapter.java @@ -0,0 +1,98 @@ +package com.casic.dcms.adapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.casic.dcms.R; +import com.casic.dcms.mvvm.model.CaseCheckBean; +import com.casic.dcms.utils.StringHelper; +import com.qmuiteam.qmui.widget.QMUIRadiusImageView; + +import java.util.List; + +public class CheckCaseListAdapter extends RecyclerView.Adapter { + + private final Context context; + private final List dataBeans; + private final LayoutInflater layoutInflater; + + public CheckCaseListAdapter(Context context, List dataRows) { + this.context = context; + this.dataBeans = dataRows; + layoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) { + holder.bindView(dataBeans.get(position)); + if (clickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + clickListener.onClick(position); + } + }); + } + } + + @Override + public int getItemCount() { + return dataBeans.size(); + } + + class ItemViewHolder extends RecyclerView.ViewHolder { + + private final QMUIRadiusImageView caseImageView; + private final TextView caseTitleView; + private final TextView casePlaceView; + private final TextView caseTimeView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + caseImageView = itemView.findViewById(R.id.caseImageView); + caseTitleView = itemView.findViewById(R.id.caseTitleView); + casePlaceView = itemView.findViewById(R.id.casePlaceView); + caseTimeView = itemView.findViewById(R.id.caseTimeView); + } + + void bindView(CaseCheckBean.DataDTO.RowsDTO rowsBean) { + //处理图片 + String fileIdProcess = rowsBean.getFileIdProcess(); + if (!TextUtils.isEmpty(fileIdProcess)) { + String[] split = fileIdProcess.split(","); + String firstImage = split[0]; + if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) { + Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView); + } + } + caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription())); + casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro())); + caseTimeView.setText("上报时间:" + rowsBean.getReportTime()); + } + } + + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onClick(int position); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.clickListener = onItemClickListener; + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java index 9702041..7bd8a39 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseCheckBean.java @@ -6,24 +6,25 @@ * 核查-已办/待办共用一个Bean */ public class CaseCheckBean { - private double code; - private DataBean data; + + private int code; + private DataDTO data; private String message; private boolean success; - public double getCode() { + public int getCode() { return code; } - public void setCode(double code) { + public void setCode(int code) { this.code = code; } - public DataBean getData() { + public DataDTO getData() { return data; } - public void setData(DataBean data) { + public void setData(DataDTO data) { this.data = data; } @@ -43,48 +44,51 @@ this.success = success; } - public static class DataBean { + public static class DataDTO { + private List rows; + private int total; - private double total; - private List rows; - - public double getTotal() { - return total; - } - - public void setTotal(double total) { - this.total = total; - } - - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } - public static class RowsBean { + public int getTotal() { + return total; + } - private double isPostpone; + public void setTotal(int total) { + this.total = total; + } + + public static class RowsDTO { + private int isPostpone; private String description; - private double source; + private int source; private String eorcName; private String casetypeDetailName; private String remainingTime; private String casetypeName; + private String currUserId; + private String currUserName; private String processId; - private double caseState; + private int caseState; private String id; + private String shopId; private String fieldintro; private String lat; private String caseStateName; private String lng; private String isOvertime; + private String currRoleName; private String fileIdVerify; private String casetypeDetailCode; private String onedeptid; private String eorc; + private String currRoleId; private String caseid; private String casetypeCode; private String nodeLimittime; @@ -92,12 +96,13 @@ private String sourceName; private String fileIdProcess; private String reportTime; + private String onedeptName; - public double getIsPostpone() { + public int getIsPostpone() { return isPostpone; } - public void setIsPostpone(double isPostpone) { + public void setIsPostpone(int isPostpone) { this.isPostpone = isPostpone; } @@ -109,11 +114,11 @@ this.description = description; } - public double getSource() { + public int getSource() { return source; } - public void setSource(double source) { + public void setSource(int source) { this.source = source; } @@ -149,6 +154,22 @@ this.casetypeName = casetypeName; } + public String getCurrUserId() { + return currUserId; + } + + public void setCurrUserId(String currUserId) { + this.currUserId = currUserId; + } + + public String getCurrUserName() { + return currUserName; + } + + public void setCurrUserName(String currUserName) { + this.currUserName = currUserName; + } + public String getProcessId() { return processId; } @@ -157,11 +178,11 @@ this.processId = processId; } - public double getCaseState() { + public int getCaseState() { return caseState; } - public void setCaseState(double caseState) { + public void setCaseState(int caseState) { this.caseState = caseState; } @@ -173,6 +194,14 @@ this.id = id; } + public String getShopId() { + return shopId; + } + + public void setShopId(String shopId) { + this.shopId = shopId; + } + public String getFieldintro() { return fieldintro; } @@ -213,6 +242,14 @@ this.isOvertime = isOvertime; } + public String getCurrRoleName() { + return currRoleName; + } + + public void setCurrRoleName(String currRoleName) { + this.currRoleName = currRoleName; + } + public String getFileIdVerify() { return fileIdVerify; } @@ -245,6 +282,14 @@ this.eorc = eorc; } + public String getCurrRoleId() { + return currRoleId; + } + + public void setCurrRoleId(String currRoleId) { + this.currRoleId = currRoleId; + } + public String getCaseid() { return caseid; } @@ -300,6 +345,14 @@ public void setReportTime(String reportTime) { this.reportTime = reportTime; } + + public String getOnedeptName() { + return onedeptName; + } + + public void setOnedeptName(String onedeptName) { + this.onedeptName = onedeptName; + } } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index 9dd7c2d..f1af666 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -19,6 +19,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.model.CaseNextNodeBean; +import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; @@ -33,6 +34,7 @@ import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; @@ -55,6 +57,7 @@ private CaseViewModel caseViewModel; private UploadViewModel uploadViewModel; private NodeViewModel nodeViewModel; + private CaseOperateViewModel operateViewModel; private String id; private String changeState; private EditableImageAdapter checkImageAdapter; @@ -71,12 +74,13 @@ @Override protected void initData() { - id = getIntent().getStringExtra("id"); + id = getIntent().getStringExtra(Constant.INTENT_PARAM); caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class); caseViewModel.obtainCaseDetail(id); uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); checkImageAdapter = new EditableImageAdapter(this, 3, 13); viewBinding.addImageRecyclerView.setAdapter(checkImageAdapter); @@ -245,7 +249,7 @@ @Override public void onChanged(ActionResultBean resultBean) { if (resultBean.getCode() == 200) { - if (checkImageAdapter.getItemCount() <= 2) { + if (checkImageAdapter.getItemCount() <= 3) { String url = resultBean.getData(); imageList.add(url); realPaths.add(StringHelper.appendCompleteURL(url)); @@ -289,7 +293,6 @@ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { dialog.dismiss(); CaseNextNodeBean.DataBean dataBean = dataBeans.get(position); - viewBinding.caseCheckStatusView.setText(dataBean.getNextOperation()); viewBinding.caseCheckOptView.setText(dataBean.getNextOperation()); changeState = String.valueOf(dataBean.getNextState()); } @@ -313,10 +316,24 @@ EasyToast.show(context, "核查情况还未选择"); return; } -// caseViewModel.checkCase(data.getProcessId(), id, -// String.valueOf(data.getCaseState()), changeState, remarks, -// StringHelper.reformatURL(imageList) -// ); + operateViewModel.checkCase(data.getProcessId(), id, + String.valueOf(data.getCaseState()), changeState, remarks, + StringHelper.reformatURL(imageList) + ); + } + }); + operateViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + } else if (loadState == LoadState.Success) { + OtherUtils.dismissLoadingDialog(); + finish(); + } else { + EasyToast.show(context, "核查失败,请重试"); + OtherUtils.dismissLoadingDialog(); + } } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 10ec294..005b947 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -110,11 +110,11 @@ public void onChanged(CaseCheckBean resultBean) { clearPictureMarker(); if (resultBean.isSuccess()) { - List rowsBeans = resultBean.getData().getRows(); + List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { List list = new ArrayList<>(); List pointList = new ArrayList<>(); - for (CaseCheckBean.DataBean.RowsBean bean : rowsBeans) { + for (CaseCheckBean.DataDTO.RowsDTO bean : rowsBeans) { String lng = bean.getLng(); String lat = bean.getLat(); if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java index 6943ef7..eceecf6 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -80,7 +80,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -120,9 +120,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java index da2550b..ba8dc72 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/check/CaseCheckedFragment.java @@ -8,7 +8,7 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; -import com.casic.dcms.adapter.CaseCheckResultAdapter; +import com.casic.dcms.adapter.CheckCaseListAdapter; import com.casic.dcms.databinding.FragmentCheckCaseBinding; import com.casic.dcms.mvvm.model.CaseCheckBean; import com.casic.dcms.mvvm.view.CaseCheckedDetailActivity; @@ -30,8 +30,8 @@ private static final String TAG = "CaseCheckedFragment"; private WeakReferenceHandler weakReferenceHandler; private CaseViewModel caseViewModel; - private CaseCheckResultAdapter adapter; - private List dataBeans = new ArrayList<>(); + private CheckCaseListAdapter adapter; + private List dataBeans = new ArrayList<>(); private int pageIndex = 1; private boolean isRefresh, isLoadMore = false; @@ -82,7 +82,7 @@ @Override public void onChanged(CaseCheckBean resultBean) { if (resultBean.isSuccess()) { - List dataRows = resultBean.getData().getRows(); + List dataRows = resultBean.getData().getRows(); if (isRefresh) { dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题 dataBeans = dataRows; @@ -122,9 +122,9 @@ }); } else { viewBinding.emptyView.hide(); - adapter = new CaseCheckResultAdapter(requireContext(), dataBeans); + adapter = new CheckCaseListAdapter(requireContext(), dataBeans); viewBinding.caseRecyclerView.setAdapter(adapter); - adapter.setOnItemClickListener(new CaseCheckResultAdapter.OnItemClickListener() { + adapter.setOnItemClickListener(new CheckCaseListAdapter.OnItemClickListener() { @Override public void onClick(int position) { ContextUtil.navigatePageTo( diff --git a/app/src/main/res/layout/activity_case_check_detail.xml b/app/src/main/res/layout/activity_case_check_detail.xml index 9aa0483..c93347f 100644 --- a/app/src/main/res/layout/activity_case_check_detail.xml +++ b/app/src/main/res/layout/activity_case_check_detail.xml @@ -270,7 +270,9 @@ - + - - - - - - - - - + style="@style/rightImageStyle" /> diff --git a/app/src/main/res/layout/fragment_check_case.xml b/app/src/main/res/layout/fragment_check_case.xml index 5a8360d..8f85c32 100644 --- a/app/src/main/res/layout/fragment_check_case.xml +++ b/app/src/main/res/layout/fragment_check_case.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/white" + android:background="@color/mainBackColor" android:orientation="vertical"> + android:layout_height="match_parent" + android:layout_marginTop="@dimen/dp_5">