diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_todo.xml b/app/src/main/res/layout/fragment_case_todo.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_todo.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_todo.xml b/app/src/main/res/layout/fragment_case_todo.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_todo.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_case_handled.xml b/app/src/main/res/layout/item_case_handled.xml new file mode 100644 index 0000000..d014289 --- /dev/null +++ b/app/src/main/res/layout/item_case_handled.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a25515d..490d1ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,8 @@ + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_todo.xml b/app/src/main/res/layout/fragment_case_todo.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_todo.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_case_handled.xml b/app/src/main/res/layout/item_case_handled.xml new file mode 100644 index 0000000..d014289 --- /dev/null +++ b/app/src/main/res/layout/item_case_handled.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_case_recycleview.xml b/app/src/main/res/layout/item_case_recycleview.xml index 9a78a37..fb8f8b0 100644 --- a/app/src/main/res/layout/item_case_recycleview.xml +++ b/app/src/main/res/layout/item_case_recycleview.xml @@ -1,26 +1,35 @@ - + android:layout_centerVertical="true" + app:cardCornerRadius="5dp"> + + + + + { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseHandledResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setHandledData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseHandledResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_handled, parent, false); + return new CaseHandledResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseHandledResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseHandledBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/CaseTodoResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java new file mode 100644 index 0000000..39b8c55 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/adapter/CaseTodoResultAdapter.java @@ -0,0 +1,94 @@ +package com.casic.dcms.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.bean.CaseTodoBean; + +import java.util.ArrayList; +import java.util.List; + +public class CaseTodoResultAdapter extends RecyclerView.Adapter { + + private List dataBeans = new ArrayList<>(); + private LayoutInflater layoutInflater; + + public CaseTodoResultAdapter(Context context) { + layoutInflater = LayoutInflater.from(context); + } + + public void setTodoData(@Nullable List dataRows) { + dataBeans.clear(); + if (dataRows != null) { + dataBeans.addAll(dataRows); + } + notifyDataSetChanged(); + } + + @NonNull + @Override + public CaseTodoResultAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = layoutInflater.inflate(R.layout.item_case_todo, parent, false); + return new CaseTodoResultAdapter.ItemViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull CaseTodoResultAdapter.ItemViewHolder holder, 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 TextView leftTextView; + private TextView titleView; + private TextView contentView; + private TextView dateView; + + ItemViewHolder(@NonNull View itemView) { + super(itemView); + leftTextView = itemView.findViewById(R.id.leftTextView); + titleView = itemView.findViewById(R.id.titleView); + contentView = itemView.findViewById(R.id.contentView); + dateView = itemView.findViewById(R.id.dateView); + } + + void bindView(CaseTodoBean.DataBean.RowsBean rowsBean) { + String eorcName = rowsBean.getEorcName(); + leftTextView.setText(eorcName.substring(0, 1)); + titleView.setText(rowsBean.getCasetypeName()); + contentView.setText(rowsBean.getCasetypeDetailName()); + dateView.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/bean/CaseHandledBean.java b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java new file mode 100644 index 0000000..f78c90e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseHandledBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseHandledBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java new file mode 100644 index 0000000..a8d322d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTodoBean.java @@ -0,0 +1,342 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTodoBean { + + /** + * code : 200.0 + * data : {"rows":[{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}],"total":5} + * message : 请求成功 + * success : true + */ + + private double code; + private DataBean data; + private String message; + private boolean success; + + public double getCode() { + return code; + } + + public void setCode(double code) { + this.code = code; + } + + public DataBean getData() { + return data; + } + + public void setData(DataBean data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataBean { + /** + * rows : [{"isPostpone":0,"description":"附件测试","source":11,"eorcName":"事件","casetypeDetailName":"畜力车进城","remainingTime":"超时768小时10分钟","casetypeName":"其他事件","processId":"2680031","caseState":0,"id":"1372736416634683393","fieldintro":"附件测试","lat":"27.752719295136018","caseStateName":"待核实","lng":"116.07972394282402","isOvertime":"1","fileIdVerify":"2021-03\\8432bd548bb14eb18cdd41468b0b430d.jpg","casetypeDetailCode":"03","onedeptid":"","eorc":"1","caseid":"202103190002","casetypeCode":"06","nodeLimittime":"2021-03-19 11:27:29","taskName":"待核实","sourceName":"热线电话","fileIdProcess":"","reportTime":"2021-03-19 10:27:21"}] + * total : 5.0 + */ + + private double total; + private List rows; + + public double getTotal() { + return total; + } + + public void setTotal(double total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + /** + * isPostpone : 0.0 + * description : 附件测试 + * source : 11.0 + * eorcName : 事件 + * casetypeDetailName : 畜力车进城 + * remainingTime : 超时768小时10分钟 + * casetypeName : 其他事件 + * processId : 2680031 + * caseState : 0.0 + * id : 1372736416634683393 + * fieldintro : 附件测试 + * lat : 27.752719295136018 + * caseStateName : 待核实 + * lng : 116.07972394282402 + * isOvertime : 1 + * fileIdVerify : 2021-03\8432bd548bb14eb18cdd41468b0b430d.jpg + * casetypeDetailCode : 03 + * onedeptid : + * eorc : 1 + * caseid : 202103190002 + * casetypeCode : 06 + * nodeLimittime : 2021-03-19 11:27:29 + * taskName : 待核实 + * sourceName : 热线电话 + * fileIdProcess : + * reportTime : 2021-03-19 10:27:21 + */ + + private double isPostpone; + private String description; + private double source; + private String eorcName; + private String casetypeDetailName; + private String remainingTime; + private String casetypeName; + private String processId; + private double caseState; + private String id; + private String fieldintro; + private String lat; + private String caseStateName; + private String lng; + private String isOvertime; + private String fileIdVerify; + private String casetypeDetailCode; + private String onedeptid; + private String eorc; + private String caseid; + private String casetypeCode; + private String nodeLimittime; + private String taskName; + private String sourceName; + private String fileIdProcess; + private String reportTime; + + public double getIsPostpone() { + return isPostpone; + } + + public void setIsPostpone(double isPostpone) { + this.isPostpone = isPostpone; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public double getSource() { + return source; + } + + public void setSource(double source) { + this.source = source; + } + + public String getEorcName() { + return eorcName; + } + + public void setEorcName(String eorcName) { + this.eorcName = eorcName; + } + + public String getCasetypeDetailName() { + return casetypeDetailName; + } + + public void setCasetypeDetailName(String casetypeDetailName) { + this.casetypeDetailName = casetypeDetailName; + } + + public String getRemainingTime() { + return remainingTime; + } + + public void setRemainingTime(String remainingTime) { + this.remainingTime = remainingTime; + } + + public String getCasetypeName() { + return casetypeName; + } + + public void setCasetypeName(String casetypeName) { + this.casetypeName = casetypeName; + } + + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + public double getCaseState() { + return caseState; + } + + public void setCaseState(double caseState) { + this.caseState = caseState; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFieldintro() { + return fieldintro; + } + + public void setFieldintro(String fieldintro) { + this.fieldintro = fieldintro; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getCaseStateName() { + return caseStateName; + } + + public void setCaseStateName(String caseStateName) { + this.caseStateName = caseStateName; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getIsOvertime() { + return isOvertime; + } + + public void setIsOvertime(String isOvertime) { + this.isOvertime = isOvertime; + } + + public String getFileIdVerify() { + return fileIdVerify; + } + + public void setFileIdVerify(String fileIdVerify) { + this.fileIdVerify = fileIdVerify; + } + + public String getCasetypeDetailCode() { + return casetypeDetailCode; + } + + public void setCasetypeDetailCode(String casetypeDetailCode) { + this.casetypeDetailCode = casetypeDetailCode; + } + + public String getOnedeptid() { + return onedeptid; + } + + public void setOnedeptid(String onedeptid) { + this.onedeptid = onedeptid; + } + + public String getEorc() { + return eorc; + } + + public void setEorc(String eorc) { + this.eorc = eorc; + } + + public String getCaseid() { + return caseid; + } + + public void setCaseid(String caseid) { + this.caseid = caseid; + } + + public String getCasetypeCode() { + return casetypeCode; + } + + public void setCasetypeCode(String casetypeCode) { + this.casetypeCode = casetypeCode; + } + + public String getNodeLimittime() { + return nodeLimittime; + } + + public void setNodeLimittime(String nodeLimittime) { + this.nodeLimittime = nodeLimittime; + } + + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public String getFileIdProcess() { + return fileIdProcess; + } + + public void setFileIdProcess(String fileIdProcess) { + this.fileIdProcess = fileIdProcess; + } + + public String getReportTime() { + return reportTime; + } + + public void setReportTime(String reportTime) { + this.reportTime = reportTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java new file mode 100644 index 0000000..54b9b12 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseHandledModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseHandledModelImpl implements ICaseHandledModel { + + private OnGetCaseHandledListener listener; + + public CaseHandledModelImpl(OnGetCaseHandledListener caseHandledListener) { + this.listener = caseHandledListener; + } + + public interface OnGetCaseHandledListener { + void onSuccess(CaseHandledBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseHandledResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseHandledBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java new file mode 100644 index 0000000..6129d59 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTodoModelImpl.java @@ -0,0 +1,50 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTodoModelImpl implements ICaseTodoModel { + + private OnGetCaseTodoListener listener; + + public CaseTodoModelImpl(OnGetCaseTodoListener caseTodoListener) { + this.listener = caseTodoListener; + } + + public interface OnGetCaseTodoListener { + void onSuccess(CaseTodoBean resultBean); + + void onFailure(Throwable throwable); + } + + @Override + public Subscription sendRetrofitRequest(int limit, int offset) { + Observable observable = RetrofitServiceManager.getCaseTodoResult(limit, offset); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (listener != null) { + listener.onFailure(e); + } + } + + @Override + public void onNext(CaseTodoBean largeClassBean) { + if (largeClassBean != null) { + listener.onSuccess(largeClassBean); + } + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java new file mode 100644 index 0000000..0e4e54b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseHandledModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseHandledModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java new file mode 100644 index 0000000..b2dad6e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTodoModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTodoModel { + Subscription sendRetrofitRequest(int limit, int offset); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java new file mode 100644 index 0000000..7ce19ee --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseHandledPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseHandledModelImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; + +public class CaseHandledPresenterImpl extends BasePresenter implements ICaseHandledPresenter, CaseHandledModelImpl.OnGetCaseHandledListener { + + private ICaseHandledView view; + private CaseHandledModelImpl actionModel; + + public CaseHandledPresenterImpl(ICaseHandledView caseHandledView) { + this.view = caseHandledView; + actionModel = new CaseHandledModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseHandledBean resultBean) { + view.obtainHandledResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java new file mode 100644 index 0000000..54d3906 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTodoPresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTodoModelImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +public class CaseTodoPresenterImpl extends BasePresenter implements ICaseTodoPresenter, CaseTodoModelImpl.OnGetCaseTodoListener { + + private ICaseTodoView view; + private CaseTodoModelImpl actionModel; + + public CaseTodoPresenterImpl(ICaseTodoView caseTodoView) { + this.view = caseTodoView; + actionModel = new CaseTodoModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(int limit, int offset) { + addSubscription(actionModel.sendRetrofitRequest(limit, offset)); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(CaseTodoBean resultBean) { + view.obtainTodoResult(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java new file mode 100644 index 0000000..c5be3c2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseHandledPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseHandledPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java new file mode 100644 index 0000000..ee618ba --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTodoPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTodoPresenter { + void onReadyRetrofitRequest(int limit, int offset); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java new file mode 100644 index 0000000..899a8be --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseHandledView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseHandledBean; + +public interface ICaseHandledView { + void obtainHandledResult(CaseHandledBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java new file mode 100644 index 0000000..8e9dc68 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTodoView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTodoBean; + +public interface ICaseTodoView { + void obtainTodoResult(CaseTodoBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java new file mode 100644 index 0000000..e93c06b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckActivity.java @@ -0,0 +1,78 @@ +package com.casic.dcms.ui; + +import android.content.Context; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.ui.fragment.CaseHandledFragment; +import com.casic.dcms.ui.fragment.CaseTodoFragment; +import com.casic.dcms.ui.fragment.ExcelFragment; +import com.casic.dcms.ui.fragment.PieChartFragment; +import com.casic.dcms.widgets.NoScrollViewPager; +import com.google.android.material.tabs.TabLayout; +import com.qmuiteam.qmui.widget.QMUITopBarLayout; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; + +/** + * @author : Pengxh + * @time : 2021/4/16 9:24 + * @email : 290677893@qq.com + **/ +public class CaseCheckActivity extends BaseActivity { + + private static final String[] pageTitles = {"待办案卷", "已办案卷"}; + @BindView(R.id.checkTopLayout) + QMUITopBarLayout checkTopLayout; + @BindView(R.id.checkTabLayout) + TabLayout checkTabLayout; + @BindView(R.id.checkViewPager) + NoScrollViewPager checkViewPager; + + private Context context = this; + + @Override + public int initLayoutView() { + return R.layout.activity_case_check; + } + + @Override + protected void setupTopBarLayout() { + checkTopLayout.setTitle("案卷核查").setTextColor(ContextCompat.getColor(this, R.color.white)); + checkTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor)); + checkTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + @Override + public void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new CaseTodoFragment()); + fragmentList.add(new CaseHandledFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + checkViewPager.setAdapter(adapter); + //绑定TabLayout + checkTabLayout.setupWithViewPager(checkViewPager); + LinearLayout linearLayout = (LinearLayout) checkTabLayout.getChildAt(0); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(context, R.drawable.layout_divider_vertical)); + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java new file mode 100644 index 0000000..37ca653 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyActivity.java @@ -0,0 +1,26 @@ +package com.casic.dcms.ui; + +import com.casic.dcms.R; +import com.casic.dcms.base.BaseActivity; + +public class CaseVerifyActivity extends BaseActivity { + @Override + public int initLayoutView() { + return R.layout.activity_verify; + } + + @Override + protected void setupTopBarLayout() { + + } + + @Override + public void initData() { + + } + + @Override + public void initEvent() { + + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java new file mode 100644 index 0000000..85a2218 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseHandledFragment.java @@ -0,0 +1,80 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.util.Log; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseHandledResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseHandledBean; +import com.casic.dcms.mvp.presenter.CaseHandledPresenterImpl; +import com.casic.dcms.mvp.view.ICaseHandledView; +import com.google.gson.Gson; + +import java.util.List; + +import butterknife.BindView; + +public class CaseHandledFragment extends BaseFragment implements ICaseHandledView { + + private static final String TAG = "CaseHandledFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseHandledPresenterImpl caseHandledPresenter; + private int pageIndex = 0; + private CaseHandledResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_handled; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseHandledPresenter = new CaseHandledPresenterImpl(this); + adapter = new CaseHandledResultAdapter(context); + } + + @Override + protected void initEvent() { + caseHandledPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainHandledResult(CaseHandledBean resultBean) { + Log.d(TAG, "obtainHandledResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setHandledData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseHandledResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseHandledPresenter != null) { + caseHandledPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java new file mode 100644 index 0000000..db0d4fc --- /dev/null +++ b/app/src/main/java/com/casic/dcms/ui/fragment/CaseTodoFragment.java @@ -0,0 +1,79 @@ +package com.casic.dcms.ui.fragment; + +import android.content.Context; +import android.content.Intent; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.CaseTodoResultAdapter; +import com.casic.dcms.base.BaseFragment; +import com.casic.dcms.bean.CaseTodoBean; +import com.casic.dcms.mvp.presenter.CaseTodoPresenterImpl; +import com.casic.dcms.mvp.view.ICaseTodoView; + +import java.util.List; + +import butterknife.BindView; + +public class CaseTodoFragment extends BaseFragment implements ICaseTodoView { + + private static final String TAG = "CaseTodoFragment"; + private Context context; + @BindView(R.id.caseRecyclerView) + RecyclerView caseRecyclerView; + private CaseTodoPresenterImpl caseTodoPresenter; + private int pageIndex = 0; + private CaseTodoResultAdapter adapter; + + @Override + protected int initLayoutView() { + return R.layout.fragment_case_todo; + } + + @Override + protected void setupTopBarLayout() { + context = getContext(); + } + + @Override + protected void initData() { + caseTodoPresenter = new CaseTodoPresenterImpl(this); + adapter = new CaseTodoResultAdapter(context); + } + + @Override + protected void initEvent() { + caseTodoPresenter.onReadyRetrofitRequest(20, pageIndex); + } + + @Override + public void obtainTodoResult(CaseTodoBean resultBean) { +// Log.d(TAG, "obtainTodoResult: " + new Gson().toJson(resultBean)); + if (resultBean.isSuccess()) { + List dataRows = resultBean.getData().getRows(); + adapter.setTodoData(dataRows); + caseRecyclerView.setLayoutManager(new LinearLayoutManager(context)); + caseRecyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); + caseRecyclerView.setAdapter(adapter); + adapter.setOnItemClickListener(new CaseTodoResultAdapter.OnItemClickListener() { + @Override + public void onClick(int position) { +// Intent intent = new Intent(context, CaseDetailActivity.class); +// intent.putExtra("id", dataRows.get(position).getId()); +// startActivity(intent); + } + }); + } + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + if (caseTodoPresenter != null) { + caseTodoPresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index a6c35b4..e955983 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -16,8 +16,10 @@ import com.casic.dcms.bean.UserBean; import com.casic.dcms.mvp.presenter.UserDataPresenterImpl; import com.casic.dcms.mvp.view.IUserDataView; +import com.casic.dcms.ui.CaseCheckActivity; import com.casic.dcms.ui.CaseSearchActivity; import com.casic.dcms.ui.CaseUploadActivity; +import com.casic.dcms.ui.CaseVerifyActivity; import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.ToastHelper; @@ -81,10 +83,12 @@ ToastHelper.showToast("三包上报", ToastHelper.INFO); break; case 3: - ToastHelper.showToast("案卷核实", ToastHelper.INFO); + intent.setClass(context, CaseVerifyActivity.class); + startActivity(intent); break; case 4: - ToastHelper.showToast("案卷核查", ToastHelper.INFO); + intent.setClass(context, CaseCheckActivity.class); + startActivity(intent); break; case 5: ToastHelper.showToast("案卷处理", ToastHelper.INFO); diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 91a4b1f..71513c7 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,11 +1,13 @@ package com.casic.dcms.utils.retrofit; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -165,4 +167,20 @@ */ @POST("/app/checkVersion") Observable obtainVersion(@Header("token") String token); + + /** + * 获取待办案卷 + */ + @POST("/case/toVerifyListPage") + Observable obtainCaseTodo(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); + + /** + * 获取已办案卷 + */ + @POST("/case/verifiedListPage") + Observable obtainCaseHandled(@Header("token") String token, + @Query("limit") int limit, + @Query("offset") int offset); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7580693..5cfde94 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -3,11 +3,13 @@ import android.util.Log; import com.casic.dcms.bean.CaseDetailBean; +import com.casic.dcms.bean.CaseHandledBean; import com.casic.dcms.bean.CaseLargeClassBean; import com.casic.dcms.bean.CaseListResultBean; import com.casic.dcms.bean.CaseProcessBean; import com.casic.dcms.bean.CaseSmallClassBean; import com.casic.dcms.bean.CaseStatusBean; +import com.casic.dcms.bean.CaseTodoBean; import com.casic.dcms.bean.ChangePasswordResultBean; import com.casic.dcms.bean.DeptTreeBean; import com.casic.dcms.bean.EventSourceBean; @@ -218,4 +220,22 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.obtainVersion(TokenHelper.getToken()); } + + /** + * 获取待办案卷 + */ + public static Observable getCaseTodoResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseTodo(TokenHelper.getToken(), limit, offset); + } + + /** + * 获取已办案卷 + */ + public static Observable getCaseHandledResult(int limit, int offset) { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainCaseHandled(TokenHelper.getToken(), limit, offset); + } } diff --git a/app/src/main/res/layout/activity_case_check.xml b/app/src/main/res/layout/activity_case_check.xml new file mode 100644 index 0000000..e8c5708 --- /dev/null +++ b/app/src/main/res/layout/activity_case_check.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_verify.xml b/app/src/main/res/layout/activity_verify.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_verify.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_handled.xml b/app/src/main/res/layout/fragment_case_handled.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_handled.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_case_todo.xml b/app/src/main/res/layout/fragment_case_todo.xml new file mode 100644 index 0000000..f8c4278 --- /dev/null +++ b/app/src/main/res/layout/fragment_case_todo.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_case_handled.xml b/app/src/main/res/layout/item_case_handled.xml new file mode 100644 index 0000000..d014289 --- /dev/null +++ b/app/src/main/res/layout/item_case_handled.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_case_recycleview.xml b/app/src/main/res/layout/item_case_recycleview.xml index 9a78a37..fb8f8b0 100644 --- a/app/src/main/res/layout/item_case_recycleview.xml +++ b/app/src/main/res/layout/item_case_recycleview.xml @@ -1,26 +1,35 @@ - + android:layout_centerVertical="true" + app:cardCornerRadius="5dp"> + + + + + + + + + + + + + + + + \ No newline at end of file