diff --git a/app/src/main/java/com/shunzhi/parent/adapter/DeyuDetialAdapter.java b/app/src/main/java/com/shunzhi/parent/adapter/DeyuDetialAdapter.java index 22b26f5..bd8bcf3 100644 --- a/app/src/main/java/com/shunzhi/parent/adapter/DeyuDetialAdapter.java +++ b/app/src/main/java/com/shunzhi/parent/adapter/DeyuDetialAdapter.java @@ -10,7 +10,7 @@ import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter; import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder; import com.shunzhi.parent.R; import com.shunzhi.parent.bean.report.DeyuDetialBean; -import com.shunzhi.parent.ui.activity.report.ReportSceneActivity; + /** * Created by Administrator on 2018/3/28 0028. @@ -18,9 +18,20 @@ import com.shunzhi.parent.ui.activity.report.ReportSceneActivity; public class DeyuDetialAdapter extends BaseRecyclerViewAdapter { private Context mContext = null; + private int type; + private String objectId,startDate,endDate; public DeyuDetialAdapter(Context context) { mContext = context; + + } + + public void setType(int type, String objectId,String startDate,String endDate) { + this.type = type; + this.objectId = objectId; + this.startDate = startDate; + this.endDate = endDate; + } @@ -32,46 +43,45 @@ public class DeyuDetialAdapter extends BaseRecyclerViewAdapter { private class DeyuDetialViewHolder extends BaseRecyclerViewHolder { - TextView txt_name,jidian,paiming,pingjia; + TextView txt_name, tv_jidian, tv_paiming, pingjia; public DeyuDetialViewHolder(View itemView) { super(itemView); - txt_name=itemView.findViewById(R.id.txt_name); - jidian=itemView.findViewById(R.id.jidian); - paiming=itemView.findViewById(R.id.paiming); - pingjia=itemView.findViewById(R.id.pingjia); + + txt_name = itemView.findViewById(R.id.txt_name); + tv_jidian = itemView.findViewById(R.id.tv_jidian); + tv_paiming = itemView.findViewById(R.id.tv_paiming); + pingjia = itemView.findViewById(R.id.tv_pingjia); } @Override public void onBindViewHolder(final DeyuDetialBean object, int position) { txt_name.setText(object.getSceneName()); - jidian.setText("绩点:"+String.format("%.1f", object.getPointScore())+" "+object.getRisePoint()); - String pStr=getPaiming(object.getRanking()); - paiming.setText("排名:"+pStr+" "+object.getRiseRanking()); - pingjia.setText(object.getEvaluationGrade()); - + tv_jidian.setText("绩点:" + String.format("%.1f", object.getPoint()) + " " + object.getPointChangeName()); + String pStr = getPaiming(object.getSort()); + tv_paiming.setText("排名:" + pStr + " " + object.getSortChangeName()); + pingjia.setText(object.getLeavel()); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - ReportSceneActivity.getInstance(mContext,object.getSceneId()); + } }); - } } - public String getPaiming(float ranking) { - String s=String.valueOf((int)ranking); + public String getPaiming(float ranking) { + String s = String.valueOf((int) ranking); - return "第"+toChinese(s)+"名"; + return "第" + toChinese(s) + "名"; } public String toChinese(String string) { - String[] s1 = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" }; - String[] s2 = { "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" }; + String[] s1 = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; + String[] s2 = {"十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"}; String result = ""; @@ -85,7 +95,7 @@ public class DeyuDetialAdapter extends BaseRecyclerViewAdapter { } else { result += s1[num]; } - System.out.println(" "+result); + System.out.println(" " + result); } System.out.println("----------------"); diff --git a/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java index e9a8144..8312e90 100644 --- a/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java +++ b/app/src/main/java/com/shunzhi/parent/adapter/ReportAdapter.java @@ -2,7 +2,6 @@ package com.shunzhi.parent.adapter; import android.content.Context; -import android.content.Intent; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -63,7 +62,7 @@ public class ReportAdapter extends BaseRecyclerViewAdapter { deyu_content.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - context.startActivity(new Intent().setClass(context, ReportDetialActivity.class)); + ReportDetialActivity.getInstance(context,"2018-04-11",2,"34345"); } }); } diff --git a/app/src/main/java/com/shunzhi/parent/api/ReportApi.java b/app/src/main/java/com/shunzhi/parent/api/ReportApi.java index 80513fa..970a918 100644 --- a/app/src/main/java/com/shunzhi/parent/api/ReportApi.java +++ b/app/src/main/java/com/shunzhi/parent/api/ReportApi.java @@ -23,11 +23,11 @@ public interface ReportApi { @Field("endDate") String endDate); @FormUrlEncoded - @POST("api/EvaluationLabel/Getstatisticsanalytical") + @POST("api/EvaluationWay/getClassAndStudentCal") Observable getReportDetial(@Field("screenId") int screenId, @Field("schoolId") int SchoolId, - @Field("objectType") int ObjectType, - @Field("classId") String classId, + @Field("searchType") int ObjectType, + @Field("objectId") String classId, @Field("startDate") String startDate, @Field("endDate") String endDate); } diff --git a/app/src/main/java/com/shunzhi/parent/bean/report/DeyuDetialBean.java b/app/src/main/java/com/shunzhi/parent/bean/report/DeyuDetialBean.java index 0f7971f..de8a31a 100644 --- a/app/src/main/java/com/shunzhi/parent/bean/report/DeyuDetialBean.java +++ b/app/src/main/java/com/shunzhi/parent/bean/report/DeyuDetialBean.java @@ -5,14 +5,29 @@ package com.shunzhi.parent.bean.report; */ public class DeyuDetialBean { - float pointScore; - String risePoint; - float ranking; - String riseRanking; - String evaluationGrade; - int sceneId; + float point; + String pointChangeName; + float sort; + String sortChangeName; + String leavel; + int sceneID; String sceneName; + public String getPointChangeName() { + return pointChangeName; + } + + public void setPointChangeName(String pointChangeName) { + this.pointChangeName = pointChangeName; + } + + public String getSortChangeName() { + return sortChangeName; + } + + public void setSortChangeName(String sortChangeName) { + this.sortChangeName = sortChangeName; + } public String getSceneName() { return sceneName; @@ -22,60 +37,39 @@ public class DeyuDetialBean { this.sceneName = sceneName; } - public float getPointScore() { - return pointScore; + public float getPoint() { + return point; } - public void setPointScore(float pointScore) { - this.pointScore = pointScore; + public void setPoint(float point) { + this.point = point; } - public String getRisePoint() { - return risePoint; - } - public void setRisePoint(String risePoint) { - this.risePoint = risePoint; - } - public float getRanking() { - return ranking; + public float getSort() { + return sort; } - public void setRanking(float ranking) { - this.ranking = ranking; + public void setSort(float sort) { + this.sort = sort; } - public String getRiseRanking() { - return riseRanking; - } - public void setRiseRanking(String riseRanking) { - this.riseRanking = riseRanking; - } - public String getEvaluationGrade() { - return evaluationGrade; + public String getLeavel() { + return leavel; } - public void setEvaluationGrade(String evaluationGrade) { - this.evaluationGrade = evaluationGrade; + public void setLeavel(String leavel) { + this.leavel = leavel; } - public int getSceneId() { - return sceneId; + public int getSceneID() { + return sceneID; } - public void setSceneId(int sceneId) { - this.sceneId = sceneId; + public void setSceneID(int sceneID) { + this.sceneID = sceneID; } } - -//score":0.0, -// "pointScore":2.6624999046325684, -// "risePoint":"同期保持一致", -// "ranking":1.0, -// "riseRanking":"与同期保持一致", -// "evaluationGrade":"E", -// "sceneId":10, -// "sceneName":"好人好事" \ No newline at end of file diff --git a/app/src/main/java/com/shunzhi/parent/contract/report/ReportDetialContract.java b/app/src/main/java/com/shunzhi/parent/contract/report/ReportDetialContract.java index 78cb14d..3435677 100644 --- a/app/src/main/java/com/shunzhi/parent/contract/report/ReportDetialContract.java +++ b/app/src/main/java/com/shunzhi/parent/contract/report/ReportDetialContract.java @@ -1,5 +1,6 @@ package com.shunzhi.parent.contract.report; +import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.base.IBaseModel; @@ -22,7 +23,8 @@ public interface ReportDetialContract { Observable getReportDetialResult(int screenId, int schoolId,String classId,int objectType, String startDate, String endDate); } interface IReportDetialView extends IBaseView { - void showDetialList(List list); +// pointNow,pointPast,sceneName + void showDetialList(List list, JsonArray pointNow, JsonArray pointPast, JsonArray sceneName); void showDetialInfo(float rank, String scoree, String bijiao1,String bijiao2,String bijiao3,String bijiao4,String describe); } diff --git a/app/src/main/java/com/shunzhi/parent/presenter/report/ReportDetialPresenter.java b/app/src/main/java/com/shunzhi/parent/presenter/report/ReportDetialPresenter.java index 82942ef..7f6c6c8 100644 --- a/app/src/main/java/com/shunzhi/parent/presenter/report/ReportDetialPresenter.java +++ b/app/src/main/java/com/shunzhi/parent/presenter/report/ReportDetialPresenter.java @@ -37,15 +37,20 @@ public class ReportDetialPresenter extends ReportDetialContract.ReportDetialPres ToastUtils.showToast(jsonObject.toString()); JsonObject data = jsonObject.getAsJsonObject("data"); - String risePoint = data.get("risePoint").getAsString(); - String pointUpAverage = data.get("pointUpAverage").getAsString(); + String risePoint = data.get("pointChangeName").getAsString(); + String pointUpAverage = data.get("pointChangeForAveName").getAsString(); +// float ranking = 0.00f; float ranking = data.get("ranking").getAsFloat(); - String riseRanking = data.get("riseRanking").getAsString(); - String averageRanking = data.get("averageRanking").getAsString(); - String evaluationDescripe = data.get("evaluationDescripe").getAsString(); - String pscore = String.format("%.1f", data.get("pscore").getAsFloat()); + String riseRanking = data.get("rankingChangeName").getAsString(); + String averageRanking = data.get("rankingChangeForAveName").getAsString(); + String evaluationDescripe = data.get("describe").getAsString(); +// String pscore = ""; + String pscore = String.format("%.1f", data.get("point").getAsFloat()); - JsonArray reportDetialArray = data.getAsJsonArray("sceneStatistics"); + JsonArray pointNow = data.getAsJsonArray("pointNow");//今日 + JsonArray pointPast = data.getAsJsonArray("pointPast");//昨日 + JsonArray sceneName = data.getAsJsonArray("sceneName");//今日场景 + JsonArray reportDetialArray = data.getAsJsonArray("sceneNow"); Gson g = new Gson(); List list = new ArrayList<>(); Iterator it = reportDetialArray.iterator(); //Iterator处理 @@ -53,10 +58,11 @@ public class ReportDetialPresenter extends ReportDetialContract.ReportDetialPres DeyuDetialBean bean = g.fromJson(it.next().toString(), DeyuDetialBean.class); //String转化成JavaBean list.add(bean); //加入list } - mIView.showDetialList(list); + mIView.showDetialList(list,pointNow,pointPast,sceneName); mIView.showDetialInfo(ranking, pscore, risePoint, pointUpAverage, riseRanking, averageRanking, evaluationDescripe); + } }, new Consumer() { @Override diff --git a/app/src/main/java/com/shunzhi/parent/presenter/report/ReportPresenter.java b/app/src/main/java/com/shunzhi/parent/presenter/report/ReportPresenter.java index 996c7a1..8ab4886 100644 --- a/app/src/main/java/com/shunzhi/parent/presenter/report/ReportPresenter.java +++ b/app/src/main/java/com/shunzhi/parent/presenter/report/ReportPresenter.java @@ -28,7 +28,6 @@ public class ReportPresenter extends ReportContract.ReportPresenter{ List list=new ArrayList<>(); ReportBean reportBean=new ReportBean(); list.add(reportBean); - list.add(reportBean); mIView.UpdateList(list); } diff --git a/app/src/main/java/com/shunzhi/parent/ui/activity/report/ReportDetialActivity.java b/app/src/main/java/com/shunzhi/parent/ui/activity/report/ReportDetialActivity.java index 072d152..bf393c9 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/activity/report/ReportDetialActivity.java +++ b/app/src/main/java/com/shunzhi/parent/ui/activity/report/ReportDetialActivity.java @@ -20,8 +20,11 @@ import com.shunzhi.parent.ui.fragment.report.ReportDetialFragment; */ public class ReportDetialActivity extends BaseMVPCompatActivity implements View.OnClickListener{ - public static void getInstance(Context context) { + public static void getInstance(Context context,String day,int schoolId,String objectId ) { Intent intent = new Intent(context, ReportDetialActivity.class); + intent.putExtra("day",day); + intent.putExtra("schoolId",schoolId); + intent.putExtra("objectId",objectId); context.startActivity(intent); } @@ -35,6 +38,9 @@ public class ReportDetialActivity extends BaseMVPCompatActivity implements View. ReportDetialFragment reportDetialFragment = null; + String day,objectId; + int schoolId; + @NonNull @Override public BasePresenter initPresenter() { @@ -53,7 +59,14 @@ public class ReportDetialActivity extends BaseMVPCompatActivity implements View. center_title = findViewById(R.id.center_title); center_title.setText("德育报告"); ivBack.setOnClickListener(this); - + day=getIntent().getStringExtra("day"); + objectId=getIntent().getStringExtra("objectId"); + schoolId = getIntent().getIntExtra("schoolId",0); + Bundle bundle=new Bundle(); + bundle.putString("day",day); + bundle.putString("objectId",objectId); + bundle.putInt("schoolId",schoolId); + reportDetialFragment.setArguments(bundle); fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.add(R.id.frame_detial, reportDetialFragment) .show(reportDetialFragment).commit(); diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java index 5ac9065..196a3f0 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java @@ -16,7 +16,6 @@ import android.widget.TextView; import com.share.mvpsdk.base.fragment.BaseCompatFragment; import com.shunzhi.parent.R; import com.shunzhi.parent.popu.ShaiXuanPop; -import com.shunzhi.parent.ui.activity.report.ReportSceneActivity; import com.shunzhi.parent.ui.fragment.report.ChengZhangFragment; import java.util.List; @@ -86,8 +85,6 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi if (null == shaiXuanPop) shaiXuanPop = new ShaiXuanPop(getActivity()); chengZhangFragment2.showShaixuan(handler); break; - case R.id.tvNoData: - ReportSceneActivity.getInstance(getActivity(), 3); } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java index 855571c..8439640 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java @@ -8,6 +8,7 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.TextView; +import com.google.gson.JsonArray; import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; import com.share.mvpsdk.view.chartview.ChartView; @@ -18,10 +19,7 @@ import com.shunzhi.parent.bean.report.DeyuDetialBean; import com.shunzhi.parent.contract.report.ReportDetialContract; import com.shunzhi.parent.presenter.report.ReportDetialPresenter; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.List; /** @@ -35,10 +33,12 @@ public class ReportDetialFragment extends BaseMVPCompatFragment deyulist = new ArrayList<>(); - private TextView tv_source, tv_bijiao1, tv_bijiao2, tv_bijiao3, tv_bijiao4, tv_date, tv_ranking, tv_describe; + private TextView tv_source, tv_bijiao1, tv_bijiao2, tv_bijiao3, tv_bijiao4, tv_date, tv_ranking, tv_describe, tvToday, tvYesToday, tvChartData; - private String startDate = "2018-04 -08", endDate = "2018-04-08"; + private String startDate = "", endDate = "", objectId = ""; + + int schoolId; private ChartView chartView; @@ -65,23 +65,32 @@ public class ReportDetialFragment extends BaseMVPCompatFragment inputDataList = new ArrayList<>(); List inputDataList1 = new ArrayList<>(); for (int i = 0; i < 7; i++) { @@ -101,12 +110,41 @@ public class ReportDetialFragment extends BaseMVPCompatFragment list) { + public void showDetialList(List list, JsonArray pointNow, JsonArray pointPast, JsonArray sceneName) { deyulist.clear(); deyulist.addAll(list); deyuDetialAdapter.addAll(deyulist); deyuDetialAdapter.notifyDataSetChanged(); - + chartView.setColors(R.color.blue, R.color.green, R.color.gray); + List inputDataListNow = new ArrayList<>(); + + List inputDataListPast = new ArrayList<>(); + try { + + InputData inputData0 = new InputData("0", 0); + inputDataListNow.add(inputData0); + inputDataListPast.add(inputData0); + for (int i = 0; i < sceneName.size(); i++) { + + InputData inputData = new InputData(sceneName.get(i).getAsString(), (float) pointNow.get(i).getAsDouble()); + inputDataListNow.add(inputData); + + InputData inputData1 = new InputData(sceneName.get(i).getAsString(), (float) pointPast.get(i).getAsDouble()); + inputDataListPast.add(inputData1); + + } + if (inputDataListNow.size()>0){ + tvChartData.setVisibility(View.GONE); + chartView.setVisibility(View.VISIBLE); + chartView.setChartPaths(inputDataListNow); + chartView.setChartPaths(inputDataListPast); + }else { + tvChartData.setVisibility(View.VISIBLE); + chartView.setVisibility(View.GONE); + } + } catch (Exception e) { + e.printStackTrace(); + } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportSceneFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportSceneFragment.java index f2ee2b6..9852083 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportSceneFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportSceneFragment.java @@ -6,7 +6,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.View; import android.widget.TextView; @@ -36,7 +35,7 @@ public class ReportSceneFragment extends BaseMVPCompatFragment list1, List list2, List list3) { - Log.e("11111", "1111----===="); if(list1==null||list2==null||list3==null) { - Log.e("11111", "----===="); return ; } chartView.setColors(R.color.textColor, R.color.huodong_blue, R.color.gray); List inputDataList1 = new ArrayList<>(); List inputDataList2 = new ArrayList<>(); List inputDataList3 = new ArrayList<>(); + inputDataList1.add(new InputData("0",0)); + inputDataList2.add(new InputData("0",0)); + inputDataList3.add(new InputData("0",0)); for (int i = 0; i < list1.size(); i++) { - InputData inputData = new InputData(list1.get(i).getDate(), (long)list1.get(i).getGap()); + InputData inputData = new InputData(list1.get(i).getDate(), list1.get(i).getGap()); inputDataList1.add(inputData); } chartView.setChartPaths(inputDataList1); for (int i = 0; i < list2.size(); i++) { - InputData inputData = new InputData(list2.get(i).getDate(), (long)list2.get(i).getGap()); + InputData inputData = new InputData(list2.get(i).getDate(), list2.get(i).getGap()); inputDataList2.add(inputData); } chartView.setChartPaths(inputDataList2); for (int i = 0; i + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_green_circle.xml b/app/src/main/res/drawable/shape_green_circle.xml new file mode 100644 index 0000000..b5be3eb --- /dev/null +++ b/app/src/main/res/drawable/shape_green_circle.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_report.xml b/app/src/main/res/layout/fragment_report.xml index ea22c27..aed0799 100644 --- a/app/src/main/res/layout/fragment_report.xml +++ b/app/src/main/res/layout/fragment_report.xml @@ -69,7 +69,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" - android:visibility="visible" + android:visibility="gone" > diff --git a/app/src/main/res/layout/fragment_report_detial.xml b/app/src/main/res/layout/fragment_report_detial.xml index 8cb8b72..d0fb310 100644 --- a/app/src/main/res/layout/fragment_report_detial.xml +++ b/app/src/main/res/layout/fragment_report_detial.xml @@ -168,38 +168,97 @@ - + android:layout_height="0dp" + android:layout_weight="1.5"> - + android:orientation="vertical"> - + + + - + + - + + + + + + + + + + + + + + + + + + - + diff --git a/app/src/main/res/layout/item_deyu_detial.xml b/app/src/main/res/layout/item_deyu_detial.xml index 848a32f..1f6a129 100644 --- a/app/src/main/res/layout/item_deyu_detial.xml +++ b/app/src/main/res/layout/item_deyu_detial.xml @@ -30,13 +30,13 @@ android:layout_height="wrap_content"> @@ -47,7 +47,7 @@ #494947 #B8B8B9 #F0EFF5 - + #2956FE + #00CB87 #A6DAFF #ACC9FC #A6DAFF -- libgit2 0.21.0