Commit a0178454ec419c79bf8b720c747839315c2b826b

Authored by 陶汉栋
2 parents 7cd6b667 5282249e

no message

Showing 23 changed files with 645 additions and 71 deletions   Show diff stats
app/build.gradle
... ... @@ -52,7 +52,7 @@ task fileCheckTask() {
52 52 //此方法执行以后会删除所有的version.sql文件,不能主动添加sql语句
53 53 //如果已经定义、实现的注解不能满足更新要求,请自己添加sql语句,并且将下面删除文件的语句注释
54 54 //注意 注释以后不要打开(写这个task是为了试验)
55   - doLast {
  55 + /*doLast {
56 56 File file = new File(rootDir.getAbsolutePath() + "\\app\\src\\main\\assets\\migrations")
57 57 File[] files = file.listFiles()
58 58 if (null != files)
... ... @@ -61,7 +61,7 @@ task fileCheckTask() {
61 61 println("delete : " + file1.getAbsolutePath())
62 62 file1.delete()
63 63 }
64   - }
  64 + }*/
65 65 }
66 66  
67 67 afterEvaluate {
... ... @@ -81,6 +81,7 @@ greendao {
81 81 schemaVersion 1//数据库版本升级
82 82 }
83 83 dependencies {
  84 +
84 85 implementation fileTree(include: ['*.jar'], dir: 'libs')
85 86 implementation 'com.android.support:appcompat-v7:26.1.0'
86 87 implementation 'com.android.support.constraint:constraint-layout:1.0.2'
... ...
app/src/main/java/com/shunzhi/parent/AppConfig.java
... ... @@ -38,16 +38,16 @@ public class AppConfig {
38 38 public static String APP_IS_START = "app_is_start";
39 39  
40 40 //http://campus.myjxt.com/
41   -// public static String BASE_URL="http://60.190.202.57:1000/";
42   -// public static String BASE_URL_ORDER="http://60.190.202.57:8101/";
43   -// public static String BASE_URL_FILE="http://60.190.202.57:8196";
  41 + public static String BASE_URL="http://60.190.202.57:1000/";
  42 + public static String BASE_URL_ORDER="http://60.190.202.57:8101/";
  43 + public static String BASE_URL_FILE="http://60.190.202.57:8196";
44 44  
45 45  
46 46 //正式
47   - public static String BASE_URL="http://campus.myjxt.com/";
48   - public static String BASE_URL_ORDER="http://parent.myjxt.com/";
49   - public static String BASE_URL_FILE="http://manage.myjxt.com";
50   - public static final String url_version = BASE_URL + "api/Common/AppVersion?appType=3";
  47 +// public static String BASE_URL="http://campus.myjxt.com/";
  48 +// public static String BASE_URL_ORDER="http://parent.myjxt.com/";
  49 +// public static String BASE_URL_FILE="http://manage.myjxt.com";
  50 +// public static final String url_version = BASE_URL + "api/Common/AppVersion?appType=3";
51 51  
52 52  
53 53 //默认日志保存的路径
... ...
app/src/main/java/com/shunzhi/parent/adapter/DeyuDetialAdapter.java
1 1 package com.shunzhi.parent.adapter;
2 2  
3 3 import android.content.Context;
4   -import android.content.Intent;
5 4 import android.view.LayoutInflater;
6 5 import android.view.View;
7 6 import android.view.ViewGroup;
  7 +import android.widget.TextView;
8 8  
9 9 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
10 10 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
... ... @@ -32,21 +32,66 @@ public class DeyuDetialAdapter extends BaseRecyclerViewAdapter<DeyuDetialBean> {
32 32  
33 33 private class DeyuDetialViewHolder extends BaseRecyclerViewHolder<DeyuDetialBean> {
34 34  
  35 + TextView txt_name,jidian,paiming,pingjia;
35 36  
36 37 public DeyuDetialViewHolder(View itemView) {
37 38 super(itemView);
  39 + txt_name=itemView.findViewById(R.id.txt_name);
  40 + jidian=itemView.findViewById(R.id.jidian);
  41 + paiming=itemView.findViewById(R.id.paiming);
  42 + pingjia=itemView.findViewById(R.id.pingjia);
38 43  
39 44 }
40 45  
41 46 @Override
42 47 public void onBindViewHolder(final DeyuDetialBean object, int position) {
  48 + txt_name.setText(object.getSceneName());
  49 + jidian.setText("绩点:"+String.format("%.1f", object.getPointScore())+" "+object.getRisePoint());
  50 + String pStr=getPaiming(object.getRanking());
  51 + paiming.setText("排名:"+pStr+" "+object.getRiseRanking());
  52 + pingjia.setText(object.getEvaluationGrade());
  53 +
  54 +
43 55 itemView.setOnClickListener(new View.OnClickListener() {
44 56 @Override
45 57 public void onClick(View v) {
46   - mContext.startActivity(new Intent().setClass(mContext, ReportSceneActivity.class));
  58 + ReportSceneActivity.getInstance(mContext,object.getSceneId());
47 59 }
48 60 });
49 61  
50 62 }
51 63 }
  64 +
  65 + public String getPaiming(float ranking) {
  66 + String s=String.valueOf((int)ranking);
  67 +
  68 + return "第"+toChinese(s)+"名";
  69 + }
  70 +
  71 +
  72 + public String toChinese(String string) {
  73 + String[] s1 = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
  74 + String[] s2 = { "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" };
  75 +
  76 + String result = "";
  77 +
  78 + int n = string.length();
  79 + for (int i = 0; i < n; i++) {
  80 +
  81 + int num = string.charAt(i) - '0';
  82 +
  83 + if (i != n - 1 && num != 0) {
  84 + result += s1[num] + s2[n - 2 - i];
  85 + } else {
  86 + result += s1[num];
  87 + }
  88 + System.out.println(" "+result);
  89 + }
  90 +
  91 + System.out.println("----------------");
  92 + System.out.println(result);
  93 + return result;
  94 +
  95 + }
  96 +
52 97 }
... ...
app/src/main/java/com/shunzhi/parent/adapter/ReportSceneAdapter.java
... ... @@ -5,6 +5,7 @@ import android.view.LayoutInflater;
5 5 import android.view.View;
6 6 import android.view.ViewGroup;
7 7 import android.widget.LinearLayout;
  8 +import android.widget.TextView;
8 9  
9 10 import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter;
10 11 import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder;
... ... @@ -32,20 +33,31 @@ public class ReportSceneAdapter extends BaseRecyclerViewAdapter&lt;SceneDetialBean&gt;
32 33 private class MyViewHolder extends BaseRecyclerViewHolder<SceneDetialBean> {
33 34  
34 35 LinearLayout item_view;
  36 + TextView leavel,txt_info,count,name,time;
35 37  
36 38 public MyViewHolder(View view) {
37 39 super(view);
38 40 item_view = view.findViewById(R.id.item_view);
  41 + leavel=view.findViewById(R.id.leavel);
  42 + txt_info=view.findViewById(R.id.txt_info);
  43 + count=view.findViewById(R.id.count);
  44 + name=view.findViewById(R.id.name);
  45 + time=view.findViewById(R.id.time);
39 46 }
40 47  
41 48 @Override
42 49 public void onBindViewHolder(SceneDetialBean object, int position) {
43   - item_view.setOnClickListener(new View.OnClickListener() {
44   - @Override
45   - public void onClick(View v) {
46   -
47   - }
48   - });
  50 + leavel.setText(object.getDimensionName());
  51 + txt_info.setText(object.getSceneName()+"-"+object.getLableName());
  52 + count.setText(object.getDimensionScore() );
  53 + name.setText(object.getStudentName());
  54 + time.setText(object.getRecordTime());
  55 +// item_view.setOnClickListener(new View.OnClickListener() {
  56 +// @Override
  57 +// public void onClick(View v) {
  58 +//
  59 +// }
  60 +// });
49 61 }
50 62  
51 63 }
... ...
app/src/main/java/com/shunzhi/parent/api/ReportApi.java 0 → 100644
... ... @@ -0,0 +1,33 @@
  1 +package com.shunzhi.parent.api;
  2 +
  3 +import com.google.gson.JsonObject;
  4 +
  5 +import io.reactivex.Observable;
  6 +import retrofit2.http.Field;
  7 +import retrofit2.http.FormUrlEncoded;
  8 +import retrofit2.http.POST;
  9 +
  10 +/**
  11 + * Created by Administrator on 2018/4/3 0003.
  12 + */
  13 +
  14 +public interface ReportApi {
  15 + @FormUrlEncoded
  16 + @POST("api/EvaluationLabel/GetSceneAnalysisDetails")
  17 + Observable<JsonObject> getSceneDetial(@Field("sceneId") int sceneId,
  18 + @Field("screenId") int screenId,
  19 + @Field("ObjectId") String ObjectId,
  20 + @Field("SchoolId") int SchoolId,
  21 + @Field("ObjectType") int ObjectType,
  22 + @Field("startDate") String startDate,
  23 + @Field("endDate") String endDate);
  24 +
  25 + @FormUrlEncoded
  26 + @POST("api/EvaluationLabel/Getstatisticsanalytical")
  27 + Observable<JsonObject> getReportDetial(@Field("screenId") int screenId,
  28 + @Field("schoolId") int SchoolId,
  29 + @Field("objectType") int ObjectType,
  30 + @Field("classId") String classId,
  31 + @Field("startDate") String startDate,
  32 + @Field("endDate") String endDate);
  33 +}
... ...
app/src/main/java/com/shunzhi/parent/bean/report/DeyuDetialBean.java
... ... @@ -5,4 +5,77 @@ package com.shunzhi.parent.bean.report;
5 5 */
6 6  
7 7 public class DeyuDetialBean {
  8 + float pointScore;
  9 + String risePoint;
  10 + float ranking;
  11 + String riseRanking;
  12 + String evaluationGrade;
  13 + int sceneId;
  14 + String sceneName;
  15 +
  16 +
  17 + public String getSceneName() {
  18 + return sceneName;
  19 + }
  20 +
  21 + public void setSceneName(String sceneName) {
  22 + this.sceneName = sceneName;
  23 + }
  24 +
  25 + public float getPointScore() {
  26 + return pointScore;
  27 + }
  28 +
  29 + public void setPointScore(float pointScore) {
  30 + this.pointScore = pointScore;
  31 + }
  32 +
  33 + public String getRisePoint() {
  34 + return risePoint;
  35 + }
  36 +
  37 + public void setRisePoint(String risePoint) {
  38 + this.risePoint = risePoint;
  39 + }
  40 +
  41 + public float getRanking() {
  42 + return ranking;
  43 + }
  44 +
  45 + public void setRanking(float ranking) {
  46 + this.ranking = ranking;
  47 + }
  48 +
  49 + public String getRiseRanking() {
  50 + return riseRanking;
  51 + }
  52 +
  53 + public void setRiseRanking(String riseRanking) {
  54 + this.riseRanking = riseRanking;
  55 + }
  56 +
  57 + public String getEvaluationGrade() {
  58 + return evaluationGrade;
  59 + }
  60 +
  61 + public void setEvaluationGrade(String evaluationGrade) {
  62 + this.evaluationGrade = evaluationGrade;
  63 + }
  64 +
  65 + public int getSceneId() {
  66 + return sceneId;
  67 + }
  68 +
  69 + public void setSceneId(int sceneId) {
  70 + this.sceneId = sceneId;
  71 + }
8 72 }
  73 +
  74 +//score":0.0,
  75 +// "pointScore":2.6624999046325684,
  76 +// "risePoint":"同期保持一致",
  77 +// "ranking":1.0,
  78 +// "riseRanking":"与同期保持一致",
  79 +// "evaluationGrade":"E",
  80 +// "sceneId":10,
  81 +// "sceneName":"好人好事"
9 82 \ No newline at end of file
... ...
app/src/main/java/com/shunzhi/parent/bean/report/SceneDetialBean.java
1 1 package com.shunzhi.parent.bean.report;
2 2  
  3 +import java.io.Serializable;
  4 +
3 5 /**
4 6 * Created by Administrator on 2018/3/30 0030.
5 7 */
6 8  
7   -public class SceneDetialBean {
  9 +public class SceneDetialBean implements Serializable{
  10 +String describe;
  11 +String lableName;
  12 +String dimensionName;
  13 +String dimensionScore;
  14 +String sceneName;
  15 +String studentName;
  16 +String className;
  17 +String recordTime;
  18 +String score;
  19 +
  20 +
  21 + public String getDimensionScore() {
  22 + return dimensionScore;
  23 + }
  24 +
  25 + public void setDimensionScore(String dimensionScore) {
  26 + this.dimensionScore = dimensionScore;
  27 + }
  28 +
  29 + public String getScore() {
  30 + return score;
  31 + }
  32 +
  33 + public void setScore(String score) {
  34 + this.score = score;
  35 + }
  36 +
  37 + public String getDescribe() {
  38 + return describe;
  39 + }
  40 +
  41 + public void setDescribe(String describe) {
  42 + this.describe = describe;
  43 + }
  44 +
  45 + public String getLableName() {
  46 + return lableName;
  47 + }
  48 +
  49 + public void setLableName(String lableName) {
  50 + this.lableName = lableName;
  51 + }
  52 +
  53 + public String getDimensionName() {
  54 + return dimensionName;
  55 + }
  56 +
  57 + public void setDimensionName(String dimensionName) {
  58 + this.dimensionName = dimensionName;
  59 + }
  60 +
  61 + public String getSceneName() {
  62 + return sceneName;
  63 + }
  64 +
  65 + public void setSceneName(String sceneName) {
  66 + this.sceneName = sceneName;
  67 + }
  68 +
  69 + public String getStudentName() {
  70 + return studentName;
  71 + }
  72 +
  73 + public void setStudentName(String studentName) {
  74 + this.studentName = studentName;
  75 + }
  76 +
  77 + public String getClassName() {
  78 + return className;
  79 + }
  80 +
  81 + public void setClassName(String className) {
  82 + this.className = className;
  83 + }
  84 +
  85 + public String getRecordTime() {
  86 + return recordTime;
  87 + }
  88 +
  89 + public void setRecordTime(String recordTime) {
  90 + this.recordTime = recordTime;
  91 + }
  92 +
  93 +
8 94 }
... ...
app/src/main/java/com/shunzhi/parent/contract/report/ReportContract.java
... ... @@ -21,7 +21,7 @@ public interface ReportContract {
21 21 }
22 22 interface IReportModel extends IBaseModel{
23 23 Observable<ReportBean> getReportResult();
24   - void getReports();
  24 +
25 25 }
26 26 interface IReportView extends IBaseView{
27 27 void UpdateList(List<ReportBean>list);
... ...
app/src/main/java/com/shunzhi/parent/contract/report/ReportDetialContract.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package com.shunzhi.parent.contract.report;
  2 +
  3 +import com.google.gson.JsonObject;
  4 +import com.share.mvpsdk.base.BasePresenter;
  5 +import com.share.mvpsdk.base.IBaseModel;
  6 +import com.share.mvpsdk.base.IBaseView;
  7 +import com.shunzhi.parent.bean.report.DeyuDetialBean;
  8 +
  9 +import java.util.List;
  10 +
  11 +import io.reactivex.Observable;
  12 +
  13 +/**
  14 + * Created by Administrator on 2018/4/3 0003.
  15 + */
  16 +
  17 +public interface ReportDetialContract {
  18 + abstract class ReportDetialPresenter extends BasePresenter<IReportDetialModel,IReportDetialView>{
  19 + public abstract void reportDetialResult(int screenId,int schoolId,String classId,int objectType,String startDate,String endDate);
  20 + }
  21 + interface IReportDetialModel extends IBaseModel {
  22 + Observable<JsonObject> getReportDetialResult(int screenId, int schoolId,String classId,int objectType, String startDate, String endDate);
  23 + }
  24 + interface IReportDetialView extends IBaseView {
  25 + void showDetialList(List<DeyuDetialBean> list);
  26 + void showDetialInfo(float rank, String scoree, String bijiao1,String bijiao2,String bijiao3,String bijiao4,String describe);
  27 +
  28 + }
  29 +}
... ...
app/src/main/java/com/shunzhi/parent/contract/report/ReportSceneContract.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package com.shunzhi.parent.contract.report;
  2 +
  3 +import com.google.gson.JsonObject;
  4 +import com.share.mvpsdk.base.BasePresenter;
  5 +import com.share.mvpsdk.base.IBaseModel;
  6 +import com.share.mvpsdk.base.IBaseView;
  7 +import com.shunzhi.parent.bean.report.SceneDetialBean;
  8 +
  9 +import java.util.List;
  10 +
  11 +import io.reactivex.Observable;
  12 +
  13 +/**
  14 + * Created by Administrator on 2018/4/3 0003.
  15 + */
  16 +
  17 +public interface ReportSceneContract {
  18 + abstract class ReportScenePresenter extends BasePresenter<IReportSceneModel,IReportSceneView>{
  19 + public abstract void reportSceneResult(int sceneId,int screenId,String objectId,int schoolId,int objectType,String startDate,String endDate);
  20 + }
  21 + interface IReportSceneModel extends IBaseModel {
  22 + Observable<JsonObject> getReportSceneResult(int sceneId,int screenId,String objectId, int schoolId, int objectType,String startDate,String endDate);
  23 + }
  24 + interface IReportSceneView extends IBaseView {
  25 + void showSceneList(List<SceneDetialBean> list);
  26 + void showSceneInfo(String rank,String scoree,String pscoree,String sceneName);
  27 +
  28 + }
  29 +}
... ...
app/src/main/java/com/shunzhi/parent/model/report/ReportDetialModel.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +package com.shunzhi.parent.model.report;
  2 +
  3 +import com.google.gson.JsonObject;
  4 +import com.share.mvpsdk.helper.RetrofitCreateHelper;
  5 +import com.share.mvpsdk.helper.RxHelper;
  6 +import com.shunzhi.parent.AppConfig;
  7 +import com.shunzhi.parent.api.ReportApi;
  8 +import com.shunzhi.parent.contract.report.ReportDetialContract;
  9 +
  10 +import io.reactivex.Observable;
  11 +
  12 +/**
  13 + * Created by Administrator on 2018/4/8 0008.
  14 + */
  15 +
  16 +public class ReportDetialModel implements ReportDetialContract.IReportDetialModel {
  17 +
  18 + public static ReportDetialModel newInstance(){
  19 + return new ReportDetialModel();
  20 + }
  21 +
  22 + @Override
  23 + public Observable<JsonObject> getReportDetialResult(int screenId, int schoolId,String classId, int objectType, String startDate, String endDate) {
  24 + return RetrofitCreateHelper.getInstance().createApi(ReportApi.class, AppConfig.BASE_URL).getReportDetial(screenId,schoolId,objectType,classId,startDate,endDate).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  25 + }
  26 +}
... ...
app/src/main/java/com/shunzhi/parent/model/report/ReportModel.java
... ... @@ -18,9 +18,4 @@ public class ReportModel implements ReportContract.IReportModel {
18 18 public Observable<ReportBean> getReportResult() {
19 19 return null;
20 20 }
21   -
22   - @Override
23   - public void getReports() {
24   -
25   - }
26 21 }
... ...
app/src/main/java/com/shunzhi/parent/model/report/ReportSceneModel.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +package com.shunzhi.parent.model.report;
  2 +
  3 +import com.google.gson.JsonObject;
  4 +import com.share.mvpsdk.helper.RetrofitCreateHelper;
  5 +import com.share.mvpsdk.helper.RxHelper;
  6 +import com.shunzhi.parent.AppConfig;
  7 +import com.shunzhi.parent.api.ReportApi;
  8 +import com.shunzhi.parent.contract.report.ReportSceneContract;
  9 +
  10 +import io.reactivex.Observable;
  11 +
  12 +/**
  13 + * Created by Administrator on 2018/4/3 0003.
  14 + */
  15 +
  16 +public class ReportSceneModel implements ReportSceneContract.IReportSceneModel {
  17 +
  18 + public static ReportSceneModel newInstance() {
  19 + return new ReportSceneModel();
  20 + }
  21 + @Override
  22 + public Observable<JsonObject> getReportSceneResult(int sceneId,int screenId,String ObjectId, int schoolId, int objectType,String startDate,String endDate) {
  23 + return RetrofitCreateHelper.getInstance().createApi(ReportApi.class, AppConfig.BASE_URL)
  24 + .getSceneDetial(sceneId,screenId,ObjectId,schoolId,objectType,startDate,endDate).compose(RxHelper.<JsonObject>rxSchedulerHelper());
  25 + }
  26 +}
... ...
app/src/main/java/com/shunzhi/parent/presenter/report/ReportDetialPresenter.java 0 → 100644
... ... @@ -0,0 +1,69 @@
  1 +package com.shunzhi.parent.presenter.report;
  2 +
  3 +import com.google.gson.Gson;
  4 +import com.google.gson.JsonArray;
  5 +import com.google.gson.JsonObject;
  6 +import com.share.mvpsdk.utils.ToastUtils;
  7 +import com.shunzhi.parent.bean.report.DeyuDetialBean;
  8 +import com.shunzhi.parent.contract.report.ReportDetialContract;
  9 +import com.shunzhi.parent.model.report.ReportDetialModel;
  10 +
  11 +import java.util.ArrayList;
  12 +import java.util.Iterator;
  13 +import java.util.List;
  14 +
  15 +import io.reactivex.functions.Consumer;
  16 +
  17 +/**
  18 + * Created by Administrator on 2018/4/8 0008.
  19 + */
  20 +
  21 +public class ReportDetialPresenter extends ReportDetialContract.ReportDetialPresenter {
  22 + @Override
  23 + public ReportDetialContract.IReportDetialModel getModel() {
  24 + return ReportDetialModel.newInstance();
  25 + }
  26 +
  27 + @Override
  28 + public void onStart() {
  29 +
  30 + }
  31 +
  32 + @Override
  33 + public void reportDetialResult(int screenId, int schoolId, String classId, int objectType, String startDate, String endDate) {
  34 + mRxManager.register(mIModel.getReportDetialResult(screenId, schoolId, classId, objectType, startDate, endDate).subscribe(new Consumer<JsonObject>() {
  35 + @Override
  36 + public void accept(JsonObject jsonObject) throws Exception {
  37 +
  38 + ToastUtils.showToast(jsonObject.toString());
  39 + JsonObject data = jsonObject.getAsJsonObject("data");
  40 + String risePoint = data.get("risePoint").getAsString();
  41 + String pointUpAverage = data.get("pointUpAverage").getAsString();
  42 + float ranking = data.get("ranking").getAsFloat();
  43 + String riseRanking = data.get("riseRanking").getAsString();
  44 + String averageRanking = data.get("averageRanking").getAsString();
  45 + String evaluationDescripe = data.get("evaluationDescripe").getAsString();
  46 + String pscore = String.format("%.1f", data.get("pscore").getAsFloat());
  47 +
  48 + JsonArray reportDetialArray = data.getAsJsonArray("sceneStatistics");
  49 + Gson g = new Gson();
  50 + List<DeyuDetialBean> list = new ArrayList<>();
  51 + Iterator it = reportDetialArray.iterator(); //Iterator处理
  52 + while (it.hasNext()) { //循环
  53 + DeyuDetialBean bean = g.fromJson(it.next().toString(), DeyuDetialBean.class); //String转化成JavaBean
  54 + list.add(bean); //加入list
  55 + }
  56 + mIView.showDetialList(list);
  57 + mIView.showDetialInfo(ranking, pscore, risePoint, pointUpAverage, riseRanking, averageRanking, evaluationDescripe);
  58 +
  59 +
  60 + }
  61 + }, new Consumer<Throwable>() {
  62 + @Override
  63 + public void accept(Throwable throwable) throws Exception {
  64 +
  65 + }
  66 + }));
  67 +
  68 + }
  69 +}
... ...
app/src/main/java/com/shunzhi/parent/presenter/report/ReportScenePresenter.java 0 → 100644
... ... @@ -0,0 +1,63 @@
  1 +package com.shunzhi.parent.presenter.report;
  2 +
  3 +
  4 +import com.google.gson.Gson;
  5 +import com.google.gson.JsonArray;
  6 +import com.google.gson.JsonObject;
  7 +import com.share.mvpsdk.utils.ToastUtils;
  8 +import com.shunzhi.parent.bean.report.SceneDetialBean;
  9 +import com.shunzhi.parent.contract.report.ReportSceneContract;
  10 +import com.shunzhi.parent.model.report.ReportSceneModel;
  11 +
  12 +import java.util.ArrayList;
  13 +import java.util.Iterator;
  14 +import java.util.List;
  15 +
  16 +import io.reactivex.functions.Consumer;
  17 +
  18 +/**
  19 + * Created by Administrator on 2018/4/3 0003.
  20 + */
  21 +
  22 +public class ReportScenePresenter extends ReportSceneContract.ReportScenePresenter {
  23 + @Override
  24 + public ReportSceneContract.IReportSceneModel getModel() {
  25 + return ReportSceneModel.newInstance();
  26 + }
  27 +
  28 + @Override
  29 + public void onStart() {
  30 +
  31 + }
  32 +
  33 + @Override
  34 + public void reportSceneResult(int sceneId,int screenId,String objectId, int schoolId, int objectType,String startDate,String endDate) {
  35 + mRxManager.register(mIModel.getReportSceneResult(sceneId,screenId,objectId, schoolId, objectType,startDate,endDate).subscribe(new Consumer<JsonObject>() {
  36 + @Override
  37 + public void accept(JsonObject jsonObject) throws Exception {
  38 + ToastUtils.showToast(jsonObject.toString());
  39 + JsonObject data = jsonObject.getAsJsonObject("data");
  40 + JsonArray behaviorArray = data.getAsJsonArray("behavior");
  41 + String rank = data.get("rank").getAsString();
  42 + String scoree = data.get("scoree").getAsString();
  43 + String pscoree = data.get("pscoree").getAsString();
  44 + String sceneName = data.get("sceneName").getAsString();
  45 + Gson g = new Gson();
  46 + List<SceneDetialBean> list = new ArrayList<>();
  47 + Iterator it = behaviorArray.iterator(); //Iterator处理
  48 + while (it.hasNext()) { //循环
  49 + SceneDetialBean bean = g.fromJson(it.next().toString(), SceneDetialBean.class); //String转化成JavaBean
  50 + list.add(bean); //加入list
  51 + }
  52 + mIView.showSceneList(list);
  53 + mIView.showSceneInfo(rank,scoree,pscoree,sceneName);
  54 + }
  55 + }, new Consumer<Throwable>() {
  56 + @Override
  57 + public void accept(Throwable throwable) throws Exception {
  58 +
  59 + }
  60 + }));
  61 +
  62 + }
  63 +}
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/report/ReportSceneActivity.java
... ... @@ -20,8 +20,9 @@ import com.shunzhi.parent.ui.fragment.report.ReportSceneFragment;
20 20 */
21 21  
22 22 public class ReportSceneActivity extends BaseMVPCompatActivity implements View.OnClickListener {
23   - public static void getInstance(Context context) {
  23 + public static void getInstance(Context context,int screenID) {
24 24 Intent intent = new Intent(context, ReportSceneActivity.class);
  25 + intent.putExtra("screenID",screenID);
25 26 context.startActivity(intent);
26 27 }
27 28  
... ... @@ -53,7 +54,10 @@ public class ReportSceneActivity extends BaseMVPCompatActivity implements View.O
53 54 center_title = findViewById(R.id.center_title);
54 55 center_title.setText("场景详情");
55 56 ivBack.setOnClickListener(this);
56   -
  57 + int screenID = getIntent().getIntExtra("screenID",0);
  58 + Bundle bundle=new Bundle();
  59 + bundle.putInt("screenID",screenID);
  60 + reportSceneFragment.setArguments(bundle);
57 61 fragmentTransaction = getSupportFragmentManager().beginTransaction();
58 62 fragmentTransaction.add(R.id.frame_scene, reportSceneFragment)
59 63 .show(reportSceneFragment).commit();
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportDetialFragment.java
... ... @@ -6,17 +6,21 @@ import android.support.annotation.Nullable;
6 6 import android.support.v7.widget.LinearLayoutManager;
7 7 import android.support.v7.widget.RecyclerView;
8 8 import android.view.View;
  9 +import android.widget.TextView;
9 10  
10 11 import com.share.mvpsdk.base.BasePresenter;
11 12 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
12   -import com.share.mvpsdk.utils.DateUtils;
13 13 import com.share.mvpsdk.view.chartview.ChartView;
14 14 import com.share.mvpsdk.view.chartview.data.InputData;
15 15 import com.shunzhi.parent.R;
16 16 import com.shunzhi.parent.adapter.DeyuDetialAdapter;
17 17 import com.shunzhi.parent.bean.report.DeyuDetialBean;
  18 +import com.shunzhi.parent.contract.report.ReportDetialContract;
  19 +import com.shunzhi.parent.presenter.report.ReportDetialPresenter;
18 20  
  21 +import java.text.SimpleDateFormat;
19 22 import java.util.ArrayList;
  23 +import java.util.Calendar;
20 24 import java.util.Date;
21 25 import java.util.List;
22 26  
... ... @@ -24,17 +28,24 @@ import java.util.List;
24 28 * Created by Administrator on 2018/3/28 0028.
25 29 */
26 30  
27   -public class ReportDetialFragment extends BaseMVPCompatFragment {
  31 +public class ReportDetialFragment extends BaseMVPCompatFragment<ReportDetialContract.ReportDetialPresenter, ReportDetialContract.IReportDetialModel>
  32 + implements ReportDetialContract.IReportDetialView {
28 33  
29 34 private RecyclerView recycle_deyu;
30 35 private DeyuDetialAdapter deyuDetialAdapter;
31   - List<DeyuDetialBean>list=new ArrayList<>();
  36 + List<DeyuDetialBean> deyulist = new ArrayList<>();
  37 +
  38 + private TextView tv_source, tv_bijiao1, tv_bijiao2, tv_bijiao3, tv_bijiao4, tv_date, tv_ranking, tv_describe;
  39 +
  40 +
  41 + private String startDate = "2018-04 -08", endDate = "2018-04-08";
32 42  
33 43 private ChartView chartView;
  44 +
34 45 @NonNull
35 46 @Override
36 47 public BasePresenter initPresenter() {
37   - return null;
  48 + return new ReportDetialPresenter();
38 49 }
39 50  
40 51 @Override
... ... @@ -44,39 +55,69 @@ public class ReportDetialFragment extends BaseMVPCompatFragment {
44 55  
45 56 @Override
46 57 public void initUI(View view, @Nullable Bundle savedInstanceState) {
47   - recycle_deyu=view.findViewById(R.id.recycle_deyu);
48   - chartView=view.findViewById(R.id.chartView);
  58 + recycle_deyu = view.findViewById(R.id.recycle_deyu);
  59 + chartView = view.findViewById(R.id.chartView);
  60 + tv_source = view.findViewById(R.id.tv_source);
  61 + tv_bijiao1 = view.findViewById(R.id.tv_bijiao1);
  62 + tv_bijiao2 = view.findViewById(R.id.tv_bijiao2);
  63 + tv_bijiao3 = view.findViewById(R.id.tv_bijiao3);
  64 + tv_bijiao4 = view.findViewById(R.id.tv_bijiao4);
  65 + tv_date = view.findViewById(R.id.tv_date);
  66 + tv_ranking = view.findViewById(R.id.tv_ranking);
  67 + tv_describe = view.findViewById(R.id.tv_describe);
  68 + Calendar c = Calendar.getInstance();
  69 + Date date = c.getTime();
  70 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  71 + String dateStr = sdf.format(date);
  72 + tv_date.setText(dateStr);
  73 +
49 74 recycle_deyu.setLayoutManager(new LinearLayoutManager(getActivity()));
50   - deyuDetialAdapter=new DeyuDetialAdapter(getActivity());
51   - DeyuDetialBean deyuDetialBean=new DeyuDetialBean();
52   - list.add(deyuDetialBean);
53   - list.add(deyuDetialBean);
54   - list.add(deyuDetialBean);
55   - deyuDetialAdapter.addAll(list);
  75 + deyuDetialAdapter = new DeyuDetialAdapter(getActivity());
56 76 recycle_deyu.setAdapter(deyuDetialAdapter);
57   -
58 77 initChartViews();
  78 + mPresenter.reportDetialResult(0, 1, "70", 0, startDate, endDate);
59 79  
60 80 }
61 81  
62 82 private void initChartViews() {
63 83  
64   - chartView.setColors(R.color.textColor,R.color.huodong_blue,R.color.gray);
65   - List<InputData> inputDataList=new ArrayList<>();
66   - List<InputData> inputDataList1=new ArrayList<>();
  84 + chartView.setColors(R.color.textColor, R.color.huodong_blue, R.color.gray);
  85 + List<InputData> inputDataList = new ArrayList<>();
  86 + List<InputData> inputDataList1 = new ArrayList<>();
67 87 for (int i = 0; i < 7; i++) {
68   - InputData inputData=new InputData("文明",10*i);
  88 + InputData inputData = new InputData("文明", 10 * i);
69 89 inputDataList.add(inputData);
70 90 }
71 91  
72 92 chartView.setChartPaths(inputDataList);
73 93  
74 94 for (int i = 0; i < 7; i++) {
75   - InputData inputData=new InputData("文明1",20*i);
  95 + InputData inputData = new InputData("文明1", 20 * i);
76 96 inputDataList1.add(inputData);
77 97 }
78 98  
79 99 chartView.setChartPaths(inputDataList1);
80 100  
81 101 }
  102 +
  103 + @Override
  104 + public void showDetialList(List<DeyuDetialBean> list) {
  105 + deyulist.clear();
  106 + deyulist.addAll(list);
  107 + deyuDetialAdapter.addAll(deyulist);
  108 + deyuDetialAdapter.notifyDataSetChanged();
  109 +
  110 +
  111 + }
  112 +
  113 + @Override
  114 + public void showDetialInfo(float rank, String scoree, String bijiao1, String bijiao2, String bijiao3, String bijiao4, String describe) {
  115 + tv_source.setText(scoree);
  116 + tv_bijiao1.setText(bijiao1);
  117 + tv_bijiao2.setText(bijiao2);
  118 + tv_bijiao3.setText(bijiao3);
  119 + tv_bijiao4.setText(bijiao4);
  120 + tv_ranking.setText(deyuDetialAdapter.getPaiming(rank));
  121 + tv_describe.setText(describe);
  122 + }
82 123 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/report/ReportSceneFragment.java
1 1 package com.shunzhi.parent.ui.fragment.report;
2 2  
  3 +import android.annotation.SuppressLint;
3 4 import android.os.Bundle;
4 5 import android.support.annotation.NonNull;
5 6 import android.support.annotation.Nullable;
6 7 import android.support.v7.widget.LinearLayoutManager;
7 8 import android.support.v7.widget.RecyclerView;
8 9 import android.view.View;
  10 +import android.widget.TextView;
9 11  
10 12 import com.share.mvpsdk.base.BasePresenter;
11 13 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
... ... @@ -14,6 +16,8 @@ import com.share.mvpsdk.view.chartview.data.InputData;
14 16 import com.shunzhi.parent.R;
15 17 import com.shunzhi.parent.adapter.ReportSceneAdapter;
16 18 import com.shunzhi.parent.bean.report.SceneDetialBean;
  19 +import com.shunzhi.parent.contract.report.ReportSceneContract;
  20 +import com.shunzhi.parent.presenter.report.ReportScenePresenter;
17 21  
18 22 import java.util.ArrayList;
19 23 import java.util.List;
... ... @@ -22,17 +26,21 @@ import java.util.List;
22 26 * Created by Administrator on 2018/3/28 0028.
23 27 */
24 28  
25   -public class ReportSceneFragment extends BaseMVPCompatFragment {
  29 +public class ReportSceneFragment extends BaseMVPCompatFragment<ReportSceneContract.ReportScenePresenter, ReportSceneContract.IReportSceneModel>
  30 + implements ReportSceneContract.IReportSceneView {
26 31 private RecyclerView recycle_scene;
27   - private ReportSceneAdapter sceneDetialAdapter;
28   - List<SceneDetialBean> list=new ArrayList<>();
29   -
  32 + private ReportSceneAdapter sceneDetialAdapter;
  33 + List<SceneDetialBean> scenenlist = new ArrayList<>();
  34 + private TextView tv_rank, tv_scoree, tv_pscoree,tv_sceneName;
30 35  
31 36 private ChartView chartView;
  37 + String startData="2018-04-04",endData="2018-04-04",objectId="102697";
  38 + int schoolId=1,sceneId;
  39 +
32 40 @NonNull
33 41 @Override
34 42 public BasePresenter initPresenter() {
35   - return null;
  43 + return new ReportScenePresenter();
36 44 }
37 45  
38 46 @Override
... ... @@ -42,44 +50,43 @@ public class ReportSceneFragment extends BaseMVPCompatFragment {
42 50  
43 51 @Override
44 52 public void initUI(View view, @Nullable Bundle savedInstanceState) {
45   - recycle_scene=view.findViewById(R.id.recycle_scene);
46   - chartView=view.findViewById(R.id.chartView);
  53 + recycle_scene = view.findViewById(R.id.recycle_scene);
  54 + chartView = view.findViewById(R.id.chartView);
  55 + tv_rank = view.findViewById(R.id.rank);
  56 + tv_scoree = view.findViewById(R.id.scoree);
  57 + tv_pscoree = view.findViewById(R.id.pscoree);
  58 + tv_sceneName = view.findViewById(R.id.sceneName);
  59 + sceneId=getArguments().getInt("sceneID",0);
47 60 recycle_scene.setLayoutManager(new LinearLayoutManager(getActivity()));
48   - sceneDetialAdapter=new ReportSceneAdapter(getActivity());
49   - SceneDetialBean sceneDetialBean=new SceneDetialBean();
50   - list.add(sceneDetialBean);
51   - list.add(sceneDetialBean);
52   - list.add(sceneDetialBean);
53   - sceneDetialAdapter.addAll(list);
  61 + sceneDetialAdapter = new ReportSceneAdapter(getActivity());
  62 + sceneDetialAdapter.addAll(scenenlist);
54 63 recycle_scene.setAdapter(sceneDetialAdapter);
55   -
  64 + mPresenter.reportSceneResult(sceneId,0,objectId,schoolId, 0,startData,endData);
56 65 initChartViews();
57   -
58   -
59 66 }
60 67  
61 68 private void initChartViews() {
62 69  
63   - chartView.setColors(R.color.textColor,R.color.huodong_blue,R.color.gray);
64   - List<InputData> inputDataList=new ArrayList<>();
65   - List<InputData> inputDataList1=new ArrayList<>();
66   - List<InputData> inputDataList2=new ArrayList<>();
  70 + chartView.setColors(R.color.textColor, R.color.huodong_blue, R.color.gray);
  71 + List<InputData> inputDataList = new ArrayList<>();
  72 + List<InputData> inputDataList1 = new ArrayList<>();
  73 + List<InputData> inputDataList2 = new ArrayList<>();
67 74 for (int i = 0; i < 7; i++) {
68   - InputData inputData=new InputData("3/"+i,10*i);
  75 + InputData inputData = new InputData("3/" + i, 10 * i);
69 76 inputDataList.add(inputData);
70 77 }
71 78  
72 79 chartView.setChartPaths(inputDataList);
73 80  
74 81 for (int i = 0; i < 7; i++) {
75   - InputData inputData=new InputData("3/"+i,20*i);
  82 + InputData inputData = new InputData("3/" + i, 20 * i);
76 83 inputDataList1.add(inputData);
77 84 }
78 85  
79 86 chartView.setChartPaths(inputDataList1);
80 87  
81 88 for (int i = 0; i < 7; i++) {
82   - InputData inputData=new InputData("3/"+i,15*i);
  89 + InputData inputData = new InputData("3/" + i, 15 * i);
83 90 inputDataList2.add(inputData);
84 91 }
85 92  
... ... @@ -88,5 +95,27 @@ public class ReportSceneFragment extends BaseMVPCompatFragment {
88 95 }
89 96  
90 97  
  98 + @Override
  99 + public void showSceneList(List<SceneDetialBean> list) {
  100 + scenenlist.clear();
  101 + scenenlist.addAll(list);
  102 + sceneDetialAdapter.addAll(scenenlist);
  103 + sceneDetialAdapter.notifyDataSetChanged();
  104 + }
  105 +
  106 + @SuppressLint("ResourceAsColor")
  107 + @Override
  108 + public void showSceneInfo(String rank, String scoree, String pscoree,String sceneName) {
  109 + tv_rank.setText("等级:" + rank);
  110 + if(!scoree.startsWith("-")){
  111 + scoree="+"+scoree;
  112 + tv_scoree.setTextColor(R.color.textGreen);
  113 + }else{
  114 + tv_scoree.setTextColor(R.color.textRed);
  115 + }
  116 + tv_scoree.setText("得分:" + scoree);
  117 + tv_pscoree.setText("绩点:" + pscoree);
  118 + tv_sceneName.setText(sceneName);
  119 + }
91 120  
92 121 }
... ...
app/src/main/res/layout/fragment_report_detial.xml
... ... @@ -60,6 +60,7 @@
60 60 android:textSize="@dimen/sp_16" />
61 61  
62 62 <TextView
  63 + android:id="@+id/tv_source"
63 64 android:layout_width="wrap_content"
64 65 android:layout_height="wrap_content"
65 66 android:gravity="center"
... ... @@ -70,6 +71,7 @@
70 71 android:textSize="@dimen/dp_36" />
71 72  
72 73 <TextView
  74 + android:id="@+id/tv_bijiao1"
73 75 android:layout_width="wrap_content"
74 76 android:layout_height="wrap_content"
75 77 android:layout_marginTop="10dp"
... ... @@ -80,6 +82,7 @@
80 82 android:textSize="@dimen/sp_16" />
81 83  
82 84 <TextView
  85 + android:id="@+id/tv_bijiao2"
83 86 android:layout_width="wrap_content"
84 87 android:layout_height="wrap_content"
85 88 android:layout_marginTop="5dp"
... ... @@ -99,6 +102,7 @@
99 102 android:orientation="vertical">
100 103  
101 104 <TextView
  105 + android:id="@+id/tv_date"
102 106 android:layout_width="wrap_content"
103 107 android:layout_height="wrap_content"
104 108 android:layout_gravity="center"
... ... @@ -109,6 +113,7 @@
109 113 android:textSize="@dimen/sp_16" />
110 114  
111 115 <TextView
  116 + android:id="@+id/tv_ranking"
112 117 android:layout_width="wrap_content"
113 118 android:layout_height="wrap_content"
114 119 android:gravity="center"
... ... @@ -119,6 +124,7 @@
119 124 android:textSize="@dimen/dp_36" />
120 125  
121 126 <TextView
  127 + android:id="@+id/tv_bijiao3"
122 128 android:layout_width="wrap_content"
123 129 android:layout_height="wrap_content"
124 130 android:layout_marginTop="10dp"
... ... @@ -129,6 +135,7 @@
129 135 android:textSize="@dimen/sp_16" />
130 136  
131 137 <TextView
  138 + android:id="@+id/tv_bijiao4"
132 139 android:layout_width="wrap_content"
133 140 android:layout_height="wrap_content"
134 141 android:layout_marginTop="5dp"
... ... @@ -145,6 +152,7 @@
145 152 </LinearLayout>
146 153  
147 154 <TextView
  155 + android:id="@+id/tv_describe"
148 156 android:layout_width="match_parent"
149 157 android:layout_height="wrap_content"
150 158 android:layout_marginTop="@dimen/size_dp_30"
... ...
app/src/main/res/layout/fragment_report_scene.xml
... ... @@ -64,6 +64,7 @@
64 64 android:orientation="vertical">
65 65  
66 66 <TextView
  67 + android:id="@+id/sceneName"
67 68 android:layout_width="wrap_content"
68 69 android:layout_height="wrap_content"
69 70 android:gravity="center"
... ... @@ -72,6 +73,7 @@
72 73 android:textSize="@dimen/sp_16" />
73 74  
74 75 <TextView
  76 + android:id="@+id/scoree"
75 77 android:layout_width="wrap_content"
76 78 android:layout_height="wrap_content"
77 79 android:layout_marginTop="10dp"
... ... @@ -81,6 +83,7 @@
81 83 android:textSize="@dimen/sp_16" />
82 84  
83 85 <TextView
  86 + android:id="@+id/pscoree"
84 87 android:layout_width="wrap_content"
85 88 android:layout_height="wrap_content"
86 89 android:layout_marginTop="10dp"
... ... @@ -90,6 +93,7 @@
90 93 android:textSize="@dimen/sp_16" />
91 94  
92 95 <TextView
  96 + android:id="@+id/rank"
93 97 android:layout_width="wrap_content"
94 98 android:layout_height="wrap_content"
95 99 android:layout_marginTop="5dp"
... ...
app/src/main/res/layout/item_deyu_detial.xml
... ... @@ -19,7 +19,7 @@
19 19 android:orientation="vertical">
20 20  
21 21 <TextView
22   - android:id="@+id/txt_childname"
  22 + android:id="@+id/txt_name"
23 23 android:layout_width="wrap_content"
24 24 android:layout_height="wrap_content"
25 25 android:textSize="@dimen/txtsize_title"
... ... @@ -47,7 +47,7 @@
47 47  
48 48  
49 49 <TextView
50   - android:id="@+id/go_buy"
  50 + android:id="@+id/pingjia"
51 51 android:layout_width="wrap_content"
52 52 android:layout_height="wrap_content"
53 53 android:paddingTop="5dp"
... ...
app/src/main/res/layout/item_report_deyu.xml
... ... @@ -88,7 +88,7 @@
88 88 android:height="40dp"
89 89 android:gravity="center"
90 90 android:paddingLeft="20dp"
91   - android:text="3月4日语文作业"
  91 + android:text="3月4日德育报告"
92 92 android:textColor="@color/deyu_BlueColor"
93 93 android:textSize="@dimen/sp_14" />
94 94  
... ...
app/src/main/res/values/colors.xml
... ... @@ -8,7 +8,7 @@
8 8 <color name="hintTextColor">#494947</color>
9 9 <color name="bottomline">#B8B8B9</color>
10 10 <color name="bg_main">#F0EFF5</color>
11   - <color name="textRed">#FC5B6A</color>
  11 +
12 12 <color name="back_top">#A6DAFF</color>
13 13 <color name="textBlue">#ACC9FC</color>
14 14 <color name="titleColor">#A6DAFF</color>
... ... @@ -19,6 +19,7 @@
19 19 <color name="huodong_blue">#ACD1FB</color>
20 20 <color name="text_color">#757575</color>
21 21 <color name="textGreen">#5FB762</color>
  22 + <color name="textRed">#FC5B6A</color>
22 23 <color name="transparent">#00000000</color>
23 24 <color name="deyu_textColor">#60b3f6</color>
24 25 <color name="deyu_BlueColor">#2b71c4</color>
... ...