diff --git a/app/libs/processor.jar b/app/libs/processor.jar index 7c0fbfe..c933b9c 100644 Binary files a/app/libs/processor.jar and b/app/libs/processor.jar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0b3e8d1..85c8bfc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -208,6 +208,10 @@ android:name=".ui.activity.apply.ApplyReplaceCardActivity" android:launchMode="singleInstance" /> + + diff --git a/app/src/main/java/com/shunzhi/parent/adapter/AttendanceAdapter.java b/app/src/main/java/com/shunzhi/parent/adapter/AttendanceAdapter.java index a0b9c9b..6b0bce2 100644 --- a/app/src/main/java/com/shunzhi/parent/adapter/AttendanceAdapter.java +++ b/app/src/main/java/com/shunzhi/parent/adapter/AttendanceAdapter.java @@ -3,10 +3,15 @@ package com.shunzhi.parent.adapter; import android.content.Context; import android.content.Intent; import android.support.v4.app.FragmentActivity; +import android.text.TextUtils; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import com.bumptech.glide.Glide; import com.share.mvpsdk.base.adapter.BaseRecyclerViewAdapter; import com.share.mvpsdk.base.adapter.BaseRecyclerViewHolder; import com.shunzhi.parent.R; @@ -21,8 +26,6 @@ import com.shunzhi.parent.ui.fragment.apply.ApplySigninFragment; */ public class AttendanceAdapter extends BaseRecyclerViewAdapter { - - private Context mContext = null; public AttendanceAdapter(Context context) { @@ -36,18 +39,33 @@ public class AttendanceAdapter extends BaseRecyclerViewAdapter { } public class AttendanceViewHolder extends BaseRecyclerViewHolder { + TextView tv_parent_name,tv_attendance; + ImageView iv_photo; + public AttendanceViewHolder(View itemView) { super(itemView); + + tv_parent_name = itemView.findViewById(R.id.tv_parent_name); + tv_attendance = itemView.findViewById(R.id.tv_attendance); + iv_photo = itemView.findViewById(R.id.iv_photo); } @Override public void onBindViewHolder(AttendanceBean object, int position) { + Log.i("AttendanceAdapter:",object.getSituation()); + tv_attendance.setText(object.getSituation()); + if (TextUtils.isEmpty(object.getHead_image())){ + iv_photo.setImageResource(R.drawable.photo); + }else { + Glide.with(mContext).load(object.getHead_image()).asBitmap().centerCrop().into(iv_photo); + } + itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - // mContext.startActivity(new Intent().setClass(mContext, ApplySigninActivity.class)); } }); } } + } diff --git a/app/src/main/java/com/shunzhi/parent/api/ApplyReplaceCardApi.java b/app/src/main/java/com/shunzhi/parent/api/ApplyReplaceCardApi.java index 53616b9..181557c 100644 --- a/app/src/main/java/com/shunzhi/parent/api/ApplyReplaceCardApi.java +++ b/app/src/main/java/com/shunzhi/parent/api/ApplyReplaceCardApi.java @@ -13,5 +13,5 @@ import retrofit2.http.Query; public interface ApplyReplaceCardApi { @GET("/api/OneCard/AddStuCard") - Observable getApplyReplaceCard(@Query("studentId") int studentId,@Query("onecard") String cardId); + Observable getApplyReplaceCard(@Query("studentid") int studentId,@Query("onecard") String cardId); } diff --git a/app/src/main/java/com/shunzhi/parent/api/ApplySigninApi.java b/app/src/main/java/com/shunzhi/parent/api/ApplySigninApi.java new file mode 100644 index 0000000..b85d13c --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/api/ApplySigninApi.java @@ -0,0 +1,16 @@ +package com.shunzhi.parent.api; + +import com.google.gson.JsonObject; + +import io.reactivex.Observable; +import retrofit2.http.GET; +import retrofit2.http.Query; + +/** + * Created by Administrator on 2018/4/19 0019. + */ + +public interface ApplySigninApi { + @GET("/api/ParentService/GetAttendanceList") + Observable getApplySignin(@Query("studentid") int studentId, @Query("schoolid") int schoolId,@Query("starttime") String date); +} diff --git a/app/src/main/java/com/shunzhi/parent/bean/apply/AttendanceBean.java b/app/src/main/java/com/shunzhi/parent/bean/apply/AttendanceBean.java index b6e2d83..1a63dbe 100644 --- a/app/src/main/java/com/shunzhi/parent/bean/apply/AttendanceBean.java +++ b/app/src/main/java/com/shunzhi/parent/bean/apply/AttendanceBean.java @@ -5,18 +5,130 @@ package com.shunzhi.parent.bean.apply; */ public class AttendanceBean { - String studentId; - String imgUrl; - String kaoQinNum; - String kaoQinDate; + String user_id; + int school_id; + int customerId; + int usertype; + String card_num; + int card_type; + int outof; + String intime; + String cid; + int func_no; + String head_image; + String situation; + + public String getUser_id() { + return user_id; + } + + public void setUser_id(String user_id) { + this.user_id = user_id; + } + + public int getSchool_id() { + return school_id; + } + + public void setSchool_id(int school_id) { + this.school_id = school_id; + } + + public int getCustomerId() { + return customerId; + } + + public void setCustomerId(int customerId) { + this.customerId = customerId; + } + + public int getUsertype() { + return usertype; + } + + public void setUsertype(int usertype) { + this.usertype = usertype; + } + + public String getCard_num() { + return card_num; + } + + public void setCard_num(String card_num) { + this.card_num = card_num; + } + + public int getCard_type() { + return card_type; + } + + public void setCard_type(int card_type) { + this.card_type = card_type; + } + + public int getOutof() { + return outof; + } + + public void setOutof(int outof) { + this.outof = outof; + } + + public String getIntime() { + return intime; + } + + public void setIntime(String intime) { + this.intime = intime; + } + + public String getCid() { + return cid; + } + + public void setCid(String cid) { + this.cid = cid; + } + + public int getFunc_no() { + return func_no; + } + + public void setFunc_no(int func_no) { + this.func_no = func_no; + } + + public String getHead_image() { + return head_image; + } + + public void setHead_image(String head_image) { + this.head_image = head_image; + } + + public String getSituation() { + return situation; + } + + public void setSituation(String situation) { + this.situation = situation; + } @Override public String toString() { return "AttendanceBean{" + - "studentId='" + studentId + '\'' + - ", imgUrl='" + imgUrl + '\'' + - ", kaoQinNum='" + kaoQinNum + '\'' + - ", kaoQinDate='" + kaoQinDate + '\'' + + "user_id='" + user_id + '\'' + + ", school_id=" + school_id + + ", customerId=" + customerId + + ", usertype=" + usertype + + ", card_num='" + card_num + '\'' + + ", card_type=" + card_type + + ", outof=" + outof + + ", intime='" + intime + '\'' + + ", cid='" + cid + '\'' + + ", func_no=" + func_no + + ", head_image='" + head_image + '\'' + + ", situation='" + situation + '\'' + '}'; } } diff --git a/app/src/main/java/com/shunzhi/parent/contract/apply/ApplySigninContract.java b/app/src/main/java/com/shunzhi/parent/contract/apply/ApplySigninContract.java index 29c85bd..fc65f7f 100644 --- a/app/src/main/java/com/shunzhi/parent/contract/apply/ApplySigninContract.java +++ b/app/src/main/java/com/shunzhi/parent/contract/apply/ApplySigninContract.java @@ -7,7 +7,9 @@ import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.base.IBaseFragment; import com.share.mvpsdk.base.IBaseModel; import com.shunzhi.parent.bean.ToolBean; +import com.shunzhi.parent.bean.apply.AttendanceBean; +import java.util.Date; import java.util.List; import io.reactivex.Observable; @@ -15,23 +17,22 @@ import io.reactivex.Observable; /** * Created by ToaHanDong on 2018/3/14. */ - public interface ApplySigninContract { abstract class ApplySigninPresenter extends BasePresenter{ - public abstract void getTools(LinearLayout linearLayout,String areaName); + public abstract void SigninDetail(int studentId, int schoolId, String date); } interface IApplySigninModel extends IBaseModel{ - Observable getTools(String areaName); + Observable getSigninDetailResult(int studentId, int schoolId, String date); } interface IApplySigninView extends IBaseFragment{ - void showTools(List toolBeanList); - + void showDetialList(List list); + void showDetialInfo(List list); } } diff --git a/app/src/main/java/com/shunzhi/parent/model/apply/ApplyReplaceCardModel.java b/app/src/main/java/com/shunzhi/parent/model/apply/ApplyReplaceCardModel.java index a2bdbb0..ffcb1f5 100644 --- a/app/src/main/java/com/shunzhi/parent/model/apply/ApplyReplaceCardModel.java +++ b/app/src/main/java/com/shunzhi/parent/model/apply/ApplyReplaceCardModel.java @@ -14,7 +14,6 @@ import io.reactivex.Observable; /** * Created by Administrator on 2018/4/18 0018. */ -//BaseModel implements OrderDetailContract.IOrderDetailModel public class ApplyReplaceCardModel extends BaseModel implements ApplyReplaceCardContract.IApplyReplaceCardModel{ public static ApplyReplaceCardContract.IApplyReplaceCardModel newInstance() { return new ApplyReplaceCardModel(); @@ -22,7 +21,6 @@ public class ApplyReplaceCardModel extends BaseModel implements ApplyReplaceCard @Override public Observable getReplaceCardDetailResult(int studentId, String cardId) { - String user_id = AppConfig.getAppConfig(AppContext.getContext()).get(AppConfig.USER_ID); return RetrofitCreateHelper.getInstance().createApi(ApplyReplaceCardApi.class,AppConfig.BASE_URL).getApplyReplaceCard(studentId,cardId).compose(RxHelper.rxSchedulerHelper()); } } diff --git a/app/src/main/java/com/shunzhi/parent/model/apply/ApplySigninModel.java b/app/src/main/java/com/shunzhi/parent/model/apply/ApplySigninModel.java index 503f890..de8cdcf 100644 --- a/app/src/main/java/com/shunzhi/parent/model/apply/ApplySigninModel.java +++ b/app/src/main/java/com/shunzhi/parent/model/apply/ApplySigninModel.java @@ -2,9 +2,15 @@ package com.shunzhi.parent.model.apply; import com.google.gson.JsonObject; import com.share.mvpsdk.base.BaseModel; +import com.share.mvpsdk.helper.RetrofitCreateHelper; +import com.share.mvpsdk.helper.RxHelper; +import com.shunzhi.parent.AppConfig; +import com.shunzhi.parent.api.ApplySigninApi; import com.shunzhi.parent.contract.apply.ApplySigninContract; import com.shunzhi.parent.contract.ceping.CepingContract; +import java.util.Date; + import io.reactivex.Observable; /** @@ -12,12 +18,13 @@ import io.reactivex.Observable; */ public class ApplySigninModel extends BaseModel implements ApplySigninContract.IApplySigninModel{ - @Override - public Observable getTools(String areaName) { - return null; - } public static ApplySigninContract.IApplySigninModel newInstance() { return new ApplySigninModel(); } + + @Override + public Observable getSigninDetailResult(int studentId, int schoolId, String date) { + return RetrofitCreateHelper.getInstance().createApi(ApplySigninApi.class, AppConfig.BASE_URL).getApplySignin(studentId,schoolId,date).compose(RxHelper.rxSchedulerHelper()); + } } diff --git a/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplyReplaceCardPresenter.java b/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplyReplaceCardPresenter.java index f98b372..d71944e 100644 --- a/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplyReplaceCardPresenter.java +++ b/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplyReplaceCardPresenter.java @@ -1,16 +1,12 @@ package com.shunzhi.parent.presenter.apply; import android.annotation.SuppressLint; -import android.text.TextUtils; import android.util.Log; -import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.utils.ToastUtils; import com.shunzhi.parent.contract.apply.ApplyReplaceCardContract; import com.shunzhi.parent.model.apply.ApplyReplaceCardModel; -import com.shunzhi.parent.views.ReplaceCardDialog; import org.json.JSONObject; @@ -39,9 +35,7 @@ public class ApplyReplaceCardPresenter extends ApplyReplaceCardContract.ApplyRep @Override public void accept(JsonObject jsonObject) throws Exception { ToastUtils.showToast("data:" + jsonObject.toString()); - String isShowTipsDialog = jsonObject.get("data").getAsString(); - Log.i("ApplyReplaceCard:", String.valueOf(isShowTipsDialog)); mIView.showTipsDialog(isShowTipsDialog); } }, new Consumer() { diff --git a/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplySigninPresenter.java b/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplySigninPresenter.java index a0b17e0..2c39a85 100644 --- a/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplySigninPresenter.java +++ b/app/src/main/java/com/shunzhi/parent/presenter/apply/ApplySigninPresenter.java @@ -1,10 +1,26 @@ package com.shunzhi.parent.presenter.apply; -import android.widget.LinearLayout; +import android.annotation.SuppressLint; +import android.text.TextUtils; +import android.util.Log; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.share.mvpsdk.utils.ToastUtils; +import com.shunzhi.parent.bean.apply.AttendanceBean; import com.shunzhi.parent.contract.apply.ApplySigninContract; import com.shunzhi.parent.model.apply.ApplySigninModel; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import io.reactivex.functions.Consumer; + /** * Created by Administrator on 2018/4/17 0017. */ @@ -21,7 +37,34 @@ public class ApplySigninPresenter extends ApplySigninContract.ApplySigninPresent } @Override - public void getTools(LinearLayout linearLayout, String areaName) { + public void SigninDetail(int studentId, int schoolId, String date) { + mRxManager.register(mIModel.getSigninDetailResult(studentId, schoolId,date).subscribe(new Consumer() { + @SuppressLint("LongLogTag") + @Override + public void accept(JsonObject jsonObject) throws Exception { + //ToastUtils.showToast("data:" + jsonObject.toString()); + Log.i("ApplySignin:",jsonObject.toString()); + if (jsonObject.get("status").getAsString().equals("1")){ + JsonArray jsonArray = jsonObject.get("data").getAsJsonArray(); + List attendanceBeanlist = new ArrayList<>(); + Log.i("ApplySignin:size", String.valueOf(jsonArray.size())); + for (int i = 0;i< jsonArray.size();i++){ + JsonObject attendanceDetailObj = jsonArray.get(i).getAsJsonObject(); + AttendanceBean attendanceBean = new Gson().fromJson(attendanceDetailObj,AttendanceBean.class); + attendanceBeanlist.add(attendanceBean); + } + mIView.showDetialList(attendanceBeanlist); + mIView.showDetialInfo(attendanceBeanlist); + }else { + ToastUtils.showToast(jsonObject.get("message").getAsString()); + } + + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + } + })); } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/activity/apply/ApplySigninActivity.java b/app/src/main/java/com/shunzhi/parent/ui/activity/apply/ApplySigninActivity.java index 7b1ff6e..3241b77 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/activity/apply/ApplySigninActivity.java +++ b/app/src/main/java/com/shunzhi/parent/ui/activity/apply/ApplySigninActivity.java @@ -18,6 +18,7 @@ import com.bigkoo.pickerview.listener.OnTimeSelectListener; import com.share.mvpsdk.base.BasePresenter; import com.share.mvpsdk.base.activity.BaseMVPCompatActivity; import com.shunzhi.parent.R; +import com.shunzhi.parent.presenter.apply.ApplySigninPresenter; import com.shunzhi.parent.ui.fragment.apply.ApplySigninFragment; import java.util.Calendar; @@ -74,7 +75,7 @@ public class ApplySigninActivity extends BaseMVPCompatActivity implements View.O @NonNull @Override public BasePresenter initPresenter() { - return null; + return new ApplySigninPresenter(); } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplyReplaceCardFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplyReplaceCardFragment.java index 51ceccc..48b8962 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplyReplaceCardFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplyReplaceCardFragment.java @@ -23,7 +23,8 @@ import com.shunzhi.parent.views.ReplaceCardDialog; * Created by Administrator on 2018/4/10 0010. */ -public class ApplyReplaceCardFragment extends BaseMVPCompatFragment implements View.OnClickListener, ApplyReplaceCardContract.IApplyReplaceCardView { +public class ApplyReplaceCardFragment extends BaseMVPCompatFragment implements View.OnClickListener, + ApplyReplaceCardContract.IApplyReplaceCardView { private Button bt_sure; private Button bt_cancel; ReplaceCardDialog replaceCardDialog = null; diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplySigninFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplySigninFragment.java index 4c990d7..88a8d55 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplySigninFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/apply/ApplySigninFragment.java @@ -7,6 +7,7 @@ import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.CheckBox; @@ -27,6 +28,7 @@ import com.share.mvpsdk.utils.ToastUtils; import com.shunzhi.parent.AppContext; import com.shunzhi.parent.R; import com.shunzhi.parent.adapter.AttendanceAdapter; +import com.shunzhi.parent.bean.ToolBean; import com.shunzhi.parent.bean.apply.AttendanceBean; import com.shunzhi.parent.contract.apply.ApplySigninContract; import com.shunzhi.parent.presenter.apply.ApplySigninPresenter; @@ -42,7 +44,8 @@ import java.util.List; * Created by Administrator on 2018/4/10 0010. */ -public class ApplySigninFragment extends BaseMVPCompatFragment implements View.OnClickListener{ +public class ApplySigninFragment extends BaseMVPCompatFragment implements View.OnClickListener, + ApplySigninContract.IApplySigninView{ private RecyclerView recycle_attendance; private AttendanceAdapter attendanceAdapter; List list=new ArrayList<>(); @@ -50,6 +53,8 @@ public class ApplySigninFragment extends BaseMVPCompatFragment signinlist = new ArrayList<>(); public BasePresenter initPresenter() { @@ -70,24 +75,29 @@ public class ApplySigninFragment extends BaseMVPCompatFragment list) { + + if (list.size() == 0){ + layout_tv.setVisibility(View.VISIBLE); + }else { + recycle_attendance.setVisibility(View.VISIBLE); + signinlist.clear(); + signinlist.addAll(list); + attendanceAdapter.addAll(signinlist); + attendanceAdapter.notifyDataSetChanged(); + } + } + + @Override + public void showDetialInfo(List list) { + String num = String.valueOf(list.size()); + tv_kaoqin_num.setText(num); + } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java index 4addf60..3846a7e 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java +++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/report/ChengZhangFragment.java @@ -21,6 +21,7 @@ import com.shunzhi.parent.bean.ReportBean; import com.shunzhi.parent.contract.report.ReportContract; import com.shunzhi.parent.presenter.report.ReportPresenter; import com.shunzhi.parent.ui.activity.apply.ApplyReplaceCardActivity; +import com.shunzhi.parent.ui.activity.apply.ApplySigninActivity; import com.shunzhi.parent.ui.activity.report.ReportDetialActivity; import com.shunzhi.parent.ui.activity.report.ReportSceneActivity; import com.shunzhi.parent.ui.fragment.apply.ApplyReplaceCardFragment; @@ -33,7 +34,6 @@ public class ChengZhangFragment extends BaseMVPCompatFragment + android:orientation="vertical"> @@ -43,7 +45,7 @@ android:id="@+id/tv_attendancer" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1" + android:layout_weight="1.2" android:paddingLeft="@dimen/margin_small" android:text="考核对象:" android:textColor="@color/hintTextColor" @@ -53,7 +55,7 @@ android:id="@+id/tv_kaoqin_user" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="3" + android:layout_weight="2.8" android:gravity="center" android:text="张三" android:textColor="@color/hintTextColor" @@ -71,7 +73,7 @@ android:id="@+id/tv_date" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1" + android:layout_weight="1.2" android:paddingLeft="@dimen/margin_small" android:text="考勤日期:" android:textColor="@color/hintTextColor" @@ -79,7 +81,7 @@ + android:src="@drawable/date" /> @@ -111,7 +112,7 @@ android:id="@+id/tv_number" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1" + android:layout_weight="1.2" android:paddingLeft="@dimen/margin_small" android:text="考勤次数:" android:textColor="@color/hintTextColor" @@ -120,19 +121,13 @@ android:id="@+id/tv_kaoqin_num" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="3" + android:layout_weight="2.8" android:gravity="center" android:text="5" android:textColor="@color/hintTextColor" android:textSize="@dimen/textSize16" /> - - + android:visibility="gone"> + android:visibility="visible"> \ No newline at end of file diff --git a/app/src/main/res/layout/item_apply_signin.xml b/app/src/main/res/layout/item_apply_signin.xml index 022fd93..34d5043 100644 --- a/app/src/main/res/layout/item_apply_signin.xml +++ b/app/src/main/res/layout/item_apply_signin.xml @@ -53,7 +53,7 @@ android:textSize="@dimen/size_dp_18" /> - - - - - - + android:layout_weight="1" + android:text="您的孩子已与10:00:15进校!" + android:textColor="@color/hintTextColor" + android:textSize="@dimen/size_dp_16" /> + android:layout_weight="2" + android:background="@drawable/photo" + android:scaleType="fitCenter" /> diff --git a/mvpsdk/src/main/res/values/dimens.xml b/mvpsdk/src/main/res/values/dimens.xml index 12b612a..8d8dc4c 100644 --- a/mvpsdk/src/main/res/values/dimens.xml +++ b/mvpsdk/src/main/res/values/dimens.xml @@ -8,6 +8,8 @@ 4dp 8dp 16dp + 20dp + 24dp 32dp 64dp 48dp -- libgit2 0.21.0