diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d50dfc0..208be32 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -203,6 +203,10 @@ + getApplyReplaceCard(@Query("studentId,cardId") int studentId,String cardId); + Observable getApplyReplaceCard(@Query("studentId") int studentId,@Query("onecard") String cardId); } diff --git a/app/src/main/java/com/shunzhi/parent/bean/ChildBean.java b/app/src/main/java/com/shunzhi/parent/bean/ChildBean.java index 9e756a4..654f018 100644 --- a/app/src/main/java/com/shunzhi/parent/bean/ChildBean.java +++ b/app/src/main/java/com/shunzhi/parent/bean/ChildBean.java @@ -1,5 +1,7 @@ package com.shunzhi.parent.bean; +import com.j256.ormlite.field.DatabaseField; + import java.io.Serializable; /** @@ -7,25 +9,65 @@ import java.io.Serializable; */ public class ChildBean implements Serializable { + @DatabaseField private String studentUserId; + @DatabaseField private int parentMobile; + @DatabaseField private int parentId; + @DatabaseField private boolean mobileFlag; + @DatabaseField private boolean bindingState; + @DatabaseField private boolean cooperateFlag; + @DatabaseField private int schoolId; + @DatabaseField private String schoolName; + @DatabaseField private int grade; + @DatabaseField private String gradename; + @DatabaseField private String areaName; + @DatabaseField private String studentCode; + @DatabaseField private int classId; + @DatabaseField private String className; + @DatabaseField(id = true) private int studentId; + @DatabaseField private String studentName; + @DatabaseField private String photo; + @DatabaseField private String cityName; + @DatabaseField + private String cardNumber; + @DatabaseField private int sex; + @DatabaseField + private int count; + + + public String getCardNumber() { + return cardNumber; + } + + public void setCardNumber(String cardNumber) { + this.cardNumber = cardNumber; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } public String getCityName() { return cityName; @@ -200,6 +242,8 @@ public class ChildBean implements Serializable { ",studentCode='" + studentCode + '\'' + ",areaName='" + areaName + '\'' + ",cityName='" + cityName + '\'' + + ",count='" + count + '\'' + + ",cardNumber='" + cardNumber + '\'' + ", sex=" + sex + "}"; } diff --git a/app/src/main/java/com/shunzhi/parent/db/ChildInfoDao.java b/app/src/main/java/com/shunzhi/parent/db/ChildInfoDao.java new file mode 100644 index 0000000..3e79c15 --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/db/ChildInfoDao.java @@ -0,0 +1,70 @@ +package com.shunzhi.parent.db; + +import android.content.Context; + +import com.j256.ormlite.dao.Dao; +import com.j256.ormlite.stmt.QueryBuilder; +import com.shunzhi.parent.bean.ChildBean; +import com.shunzhi.parent.util.DatabaseHelper; + +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Administrator on 2018/4/19 0019. + */ + +public class ChildInfoDao { + private Context context; + private DatabaseHelper databaseHelper; + private Dao dao; + + public ChildInfoDao(Context context) { + this.context = context; + try { + databaseHelper = DatabaseHelper.getHelper(context); + dao = databaseHelper.getDao(ChildBean.class); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + public boolean onCreate(ChildBean childBean) { + try { + return dao.create(childBean) > 0; + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + + public synchronized List getAllChildren() { + List children = null; + try { + children = dao.queryForAll(); + if (children != null && children.size() > 0) return children; + } catch (SQLException e) { + e.printStackTrace(); + return new ArrayList<>(); + } + return new ArrayList<>(); + } + + + public synchronized ChildBean getChildBystudentId(int studentId) { + QueryBuilder queryBuilder = dao.queryBuilder(); + try { + queryBuilder.where().eq("studentId", studentId); + List list = dao.query(queryBuilder.prepare()); + ChildBean studentInfo = list.get(0); + return studentInfo; +// return dao.queryForFirst(queryBuilder.prepare()); + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + + } diff --git a/app/src/main/java/com/shunzhi/parent/db/DBControl.java b/app/src/main/java/com/shunzhi/parent/db/DBControl.java new file mode 100644 index 0000000..a19472e --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/db/DBControl.java @@ -0,0 +1,15 @@ +package com.shunzhi.parent.db; + +import android.content.Context; + +/** + * Created by Administrator on 2018/4/19 0019. + */ + +public class DBControl { + public static ChildInfoDao childInfoDao; + + public static void init(Context context){ + childInfoDao=new ChildInfoDao(context); + } +} 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 1933f84..8b3aa44 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 @@ -3,6 +3,7 @@ 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.AppContext; import com.shunzhi.parent.api.ApplyReplaceCardApi; @@ -14,7 +15,7 @@ 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 class ApplyReplaceCardModel extends BaseModel implements ApplyReplaceCardContract.IApplyReplaceCardModel { public static ApplyReplaceCardContract.IApplyReplaceCardModel newInstance() { return new ApplyReplaceCardModel(); } @@ -22,6 +23,7 @@ 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); + 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/ui/activity/ActivationActivity.java b/app/src/main/java/com/shunzhi/parent/ui/activity/ActivationActivity.java index 75fedb0..26c4f5d 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/activity/ActivationActivity.java +++ b/app/src/main/java/com/shunzhi/parent/ui/activity/ActivationActivity.java @@ -1,26 +1,52 @@ package com.shunzhi.parent.ui.activity; +import android.app.Activity; +import android.content.Intent; import android.os.Bundle; +import android.support.v4.app.FragmentTransaction; import com.share.mvpsdk.base.activity.BaseCompatActivity; import com.shunzhi.parent.R; import com.shunzhi.parent.ui.fragment.ActivationFragment; -import me.yokeyword.fragmentation.SupportFragment; - /** * Created by Administrator on 2018/4/18 0018. */ public class ActivationActivity extends BaseCompatActivity { - private SupportFragment[] mFragments = new SupportFragment[1]; + + private ActivationFragment activationFragment = null; + private FragmentTransaction fragmentTransaction = null; + + public static void newInstance(Activity activity, String cardNum, int studentId, int isactivation,String childName) { + Intent intent = new Intent(activity, ActivationActivity.class); + intent.putExtra("cardNum", cardNum); + intent.putExtra("childName", childName); + intent.putExtra("studentId", studentId); + intent.putExtra("isactivation", isactivation); + activity.startActivity(intent); + + + } @Override protected void initView(Bundle savedInstanceState) { if (savedInstanceState == null) { - loadRootFragment(R.id.frame, mFragments[0]); - } else { - mFragments[0] = findFragment(ActivationFragment.class); + activationFragment = new ActivationFragment(); + String cardNum = getIntent().getStringExtra("cardNum"); + String childName = getIntent().getStringExtra("childName"); + int studentId = getIntent().getIntExtra("studentId", 0); + int isactivation = getIntent().getIntExtra("isactivation", 0); + Bundle bundle = new Bundle(); + bundle.putString("cardNum", cardNum); + bundle.putString("childName", childName); + bundle.putInt("studentId", studentId); + bundle.putInt("isactivation", isactivation); + activationFragment.setArguments(bundle); + fragmentTransaction = getSupportFragmentManager().beginTransaction(); + fragmentTransaction.add(R.id.frame, activationFragment) + .show(activationFragment).commit(); + } } diff --git a/app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java b/app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java index e2e7ace..567df5d 100644 --- a/app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java +++ b/app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java @@ -29,8 +29,11 @@ import java.util.List; public class ChildDetialActivity extends BaseMVPCompatActivity implements MyChildContract.IMyChildView, View.OnClickListener { - TextView child_name, child_school, child_class, school_area, student_code, center_title,btn_jihuo,btn_unBinding; + TextView child_name, child_school, child_class, school_area, student_code, center_title, btn_jihuo, btn_unBinding; ImageView back; + String childName, cardNumber; + int studentId; + int isactivation = 0; @Override protected void initView(Bundle savedInstanceState) { @@ -61,6 +64,13 @@ public class ChildDetialActivity extends BaseMVPCompatActivity list = currentBean.getStudentClass(); + for(int i=0;i + implements View.OnClickListener { + + + TextView center_title, tv_name, tv_submit; + EditText et_cardnum; + ImageView iv_back; + + String cardNum = "",childName=""; + int studentId; + + @Override + public void onClick(View v) { + if (v == tv_submit) { + + if (et_cardnum.getText().toString() != null) { + cardNum=et_cardnum.getText().toString(); + mPresenter.showReplaceCardDetail(studentId, cardNum); + } else { + ToastUtils.showToast("请输入卡号"); + } + }else if(v==iv_back){ + getActivity().finish(); + } + + } + @NonNull @Override public BasePresenter initPresenter() { - return null; + return new ApplyReplaceCardPresenter(); } @Override @@ -27,6 +59,28 @@ public class ActivationFragment extends BaseMVPCompatFragment{ @Override public void initUI(View view, @Nullable Bundle savedInstanceState) { + center_title = view.findViewById(R.id.center_title); + iv_back = view.findViewById(R.id.back_top); + center_title.setText("校卡激活"); + tv_name = view.findViewById(R.id.tv_name); + + et_cardnum = view.findViewById(R.id.et_cardnum); + tv_submit = view.findViewById(R.id.tv_submit); + cardNum = getArguments().getString("cardNum"); + childName = getArguments().getString("childName"); + tv_name.setText(childName); + studentId = getArguments().getInt("studentId", 0); + int isactivation = getArguments().getInt("isactivation", 0); + if (isactivation == 0) { + et_cardnum.setEnabled(true); + tv_submit.setVisibility(View.VISIBLE); + tv_submit.setOnClickListener(this); + + } else { + et_cardnum.setEnabled(false); + tv_submit.setVisibility(View.GONE); + et_cardnum.setText(cardNum); + } } } 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 b7167ce..c71bf47 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 @@ -20,7 +20,8 @@ import com.shunzhi.parent.views.ReplaceCardDialog; * Created by Administrator on 2018/4/10 0010. */ -public class ApplyReplaceCardFragment extends BaseMVPCompatFragment implements View.OnClickListener{ +public class ApplyReplaceCardFragment extends BaseMVPCompatFragment + implements View.OnClickListener{ private Button bt_sure; private Button bt_cancel; ReplaceCardDialog replaceCardDialog=null; diff --git a/app/src/main/java/com/shunzhi/parent/util/DatabaseHelper.java b/app/src/main/java/com/shunzhi/parent/util/DatabaseHelper.java new file mode 100644 index 0000000..2e0251e --- /dev/null +++ b/app/src/main/java/com/shunzhi/parent/util/DatabaseHelper.java @@ -0,0 +1,99 @@ +package com.shunzhi.parent.util; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; + +import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; +import com.j256.ormlite.dao.Dao; +import com.j256.ormlite.support.ConnectionSource; +import com.j256.ormlite.table.TableUtils; +import com.shunzhi.parent.bean.ChildBean; + +import java.sql.SQLException; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by ToaHanDong on 2017/3/24. + */ + +public class DatabaseHelper extends OrmLiteSqliteOpenHelper { + private static final String TABLE_NAME = "parent.db"; + private Map daos = new HashMap(); + private static DatabaseHelper instance; + + public DatabaseHelper(Context context){ + super(context,TABLE_NAME,null,1); + } + + /* + 创建数据库 + */ + @Override + public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { + try { + TableUtils.createTableIfNotExists(connectionSource, ChildBean.class); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { + try { + TableUtils.dropTable(connectionSource,ChildBean.class,true); + onCreate(database,connectionSource); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + //删除数据库 + public void deleteAll(){ + try { + TableUtils.dropTable(connectionSource,ChildBean.class,true); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + public static synchronized DatabaseHelper getHelper(Context context){ + context=context.getApplicationContext(); + if (null==instance){ + synchronized (DatabaseHelper.class){ + if (null==instance){ + instance=new DatabaseHelper(context); + } + } + } + return instance; + } + + public synchronized Dao getDao(Class clazz) throws SQLException { + Dao dao = null; + String className = clazz.getSimpleName(); + + if (daos.containsKey(className)) { + dao = daos.get(className); + } + if (dao == null) { + dao = super.getDao(clazz); + daos.put(className, dao); + } + return dao; + } + + /** + * 释放资源 + */ + @Override + public void close() { + super.close(); + + for (String key : daos.keySet()) + { + Dao dao = daos.get(key); + dao = null; + } + } +} diff --git a/app/src/main/res/layout/fragment_activation.xml b/app/src/main/res/layout/fragment_activation.xml index 6df816e..34bb1af 100644 --- a/app/src/main/res/layout/fragment_activation.xml +++ b/app/src/main/res/layout/fragment_activation.xml @@ -15,8 +15,8 @@ android:layout_width="match_parent" android:layout_height="200dp" android:layout_centerInParent="true" - android:layout_marginLeft="20dp" - android:layout_marginRight="20dp" + android:layout_marginLeft="30dp" + android:layout_marginRight="30dp" android:paddingTop="30dp" android:background="@drawable/report_white" android:orientation="vertical"> @@ -33,6 +33,7 @@ android:textSize="@dimen/textSize18" /> + android:visibility="gone">