diff --git a/app/release/app-release.apk b/app/release/app-release.apk deleted file mode 100755 index 929cca6..0000000 Binary files a/app/release/app-release.apk and /dev/null differ diff --git a/app/release/output.json b/app/release/output.json index a7b1e07..1caf134 100755 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":3,"versionName":"1.0.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/LoginActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/LoginActivity.java index 9e0f8e9..56bd0fc 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/LoginActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/LoginActivity.java @@ -150,10 +150,8 @@ public class LoginActivity extends BaseActivity { /** * 登录 - * TODO 跳转测试页面 */ private void login() { -// startActivity(new Intent(this, MainActivity.class)); if (checkUserInputInfo()) { String userName = mEtUserPhone.getText().toString().trim(); String pwd = mEtUserPwd.getText().toString().trim(); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java index ab2737b..170f3bc 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/base/MainActivity.java @@ -93,7 +93,6 @@ public class MainActivity extends BaseActivity { TextView mTvOnline; private String[] permissions = new String[]{ PermissionConstants.STORAGE, - PermissionConstants.LOCATION, PermissionConstants.PHONE, PermissionConstants.MICROPHONE, }; @@ -318,7 +317,6 @@ public class MainActivity extends BaseActivity { startActivity(new Intent(MainActivity.this, UserActivity.class)); break; case R.id.tv_rule://签到规则 - break; } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java index f34e14f..ab0d444 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/companylib/EnterCompanyInfoActivity.java @@ -138,6 +138,7 @@ public class EnterCompanyInfoActivity extends BaseActivity { private String mSelArea5Id = "";//村 社区 private String mTraitId = "";//风险特点ID + private String mTraitPId = "";//风险特点父ID private String companyName = "";//企业名称 private String regisAddress = "";//注册地址 private String detailAddress = "";//详细地址 diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java index 9c70fa2..ddcca45 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/countercheck/CounterCheckOptionsActivity.java @@ -215,6 +215,13 @@ public class CounterCheckOptionsActivity extends BaseActivity { List items = new ArrayList<>(); for (int i = 0; i < data.size(); i++) { Options o = data.get(i); + if (o.getIsMust() == 1) { + if (o.getState() == EmStateCheck.NORMAL) { + mMProgressDialog.dismiss(); + ToastUtils.showShort("检查项中存在未检查的必查项目"); + return; + } + } OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean(); bean.setCheckItemId(o.getId()); String photoIds = ""; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java index c56a8b1..8e2ca05 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/CheckOptionsActivity.java @@ -97,7 +97,13 @@ public class CheckOptionsActivity extends BaseActivity { mOptions = new ArrayList<>(); mAdapter = new OptionsAdapter(this, mOptions); mRlvOptions.setAdapter(mAdapter); - mRlvOptions.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); + LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) { + @Override + public boolean canScrollVertically() { + return false; + } + }; + mRlvOptions.setLayoutManager(linearLayoutManager); mAdapter.addSelectPhotoListener((bean, options, i, type) -> { mCurrentOptions = options; if (type == 1) { @@ -179,6 +185,13 @@ public class CheckOptionsActivity extends BaseActivity { List items = new ArrayList<>(); for (int i = 0; i < data.size(); i++) { Options o = data.get(i); + if (o.getIsMust() == 1) { + if (o.getState() == EmStateCheck.NORMAL) { + mMProgressDialog.dismiss(); + ToastUtils.showShort("检查项中存在未检查的必查项目"); + return; + } + } OptionsSubmitBean.HiddenDangerReportsBean bean = new OptionsSubmitBean.HiddenDangerReportsBean(); bean.setCheckItemId(o.getId()); String photoIds = ""; @@ -319,6 +332,7 @@ public class CheckOptionsActivity extends BaseActivity { o.setId(checkOptionsbeans.get(i).getCheckItemId()); o.setTitle(checkOptionsbeans.get(i).getSummaryJoinByCheckItemId()); o.setPhotos(mPhotos); + o.setIsMust(checkOptionsbeans.get(i).getType()); mOptions.add(o); } mAdapter.setData(mOptions); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/HistoryDetialActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/HistoryDetialActivity.java index 9994ee6..b193c56 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/HistoryDetialActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/HistoryDetialActivity.java @@ -2,6 +2,7 @@ package com.sucstepsoft.txrealtimelocation.activitys.issue; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; @@ -29,6 +30,8 @@ public class HistoryDetialActivity extends BaseActivity { private Unbinder mBind; private List mDatas = new ArrayList<>(); + private MissionDetailAdapter mAdapter; + private Disposable mDis; @Override protected int setLayoutId() { @@ -40,9 +43,13 @@ public class HistoryDetialActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("详情"); + refreshView(STATE_LOAD_LOADING); String cId = getIntent().getStringExtra("cId"); getDetail(cId); - MissionDetailAdapter adapter = new MissionDetailAdapter(mActivity, mDatas); + mAdapter = new MissionDetailAdapter(mActivity, mDatas); + mRlvDetail.setLayoutManager(new LinearLayoutManager(mActivity)); + mRlvDetail.setAdapter(mAdapter); + } private void getDetail(String cid) { @@ -51,20 +58,26 @@ public class HistoryDetialActivity extends BaseActivity { .getHistoryDetail(cid, UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { + .subscribe(new Observer>() { @Override public void onSubscribe(Disposable d) { - + mDis = d; } @Override - public void onNext(HistoryMissionBean historyMissionBean) { - + public void onNext(List beans) { + if (beans != null && beans.size() > 0) { + refreshView(STATE_LOAD_SUCCESS); + mDatas = beans; + mAdapter.setData(mDatas); + } else { + refreshView(STATE_LOAD_EMPTY); + } } @Override public void onError(Throwable e) { - + refreshView(STATE_LOAD_ERROR); } @Override @@ -77,6 +90,9 @@ public class HistoryDetialActivity extends BaseActivity { @Override protected void onDestroy() { super.onDestroy(); + if (mDis != null && !mDis.isDisposed()) { + mDis.dispose(); + } mBind.unbind(); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/Options.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/Options.java index 66d71b3..32ac324 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/Options.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/Options.java @@ -17,6 +17,7 @@ public class Options { private String title; private EmStateCheck state = EmStateCheck.NORMAL;//检查状态 normal 未检查 check合格 uncheck不合格 private int rectify = 4;//立即整改-4,限期整改-5 不配合-6 + private int isMust = 1;//1 必查 2选查 //整改期限 // 当场整改 // 当天整改 @@ -72,4 +73,12 @@ public class Options { public void setState(EmStateCheck state) { this.state = state; } + + public int getIsMust() { + return isMust; + } + + public void setIsMust(int isMust) { + this.isMust = isMust; + } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java index fdce77b..322b56a 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsAdapter.java @@ -39,6 +39,11 @@ public class OptionsAdapter extends BaseRecyclerAdapter @Override public void bindHolder(OptionsHolder oHolder, int i) { + if (mData.get(i).getIsMust() == 1) { + oHolder.mIvIsMust.setVisibility(View.VISIBLE); + } else { + oHolder.mIvIsMust.setVisibility(View.GONE); + } oHolder.mScvOptions.setCheckState(mData.get(i).getState()); oHolder.mScvOptions.setOnClickListener(v -> { EmStateCheck state = oHolder.mScvOptions.getViewState(); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java index 4430454..1eceaf1 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/issue/demo/OptionsHolder.java @@ -4,6 +4,7 @@ import android.support.annotation.NonNull; import android.support.v7.widget.AppCompatSpinner; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -27,6 +28,7 @@ public class OptionsHolder extends RecyclerView.ViewHolder { public RadioGroup mRg; public LinearLayout mLlSp; public RadioButton mRbNow; + public ImageView mIvIsMust; public OptionsHolder(@NonNull View itemView) { super(itemView); @@ -38,5 +40,6 @@ public class OptionsHolder extends RecyclerView.ViewHolder { mRg = itemView.findViewById(R.id.rg_term); mRbNow = itemView.findViewById(R.id.rb_now); mLlSp = itemView.findViewById(R.id.ll_sp); + mIvIsMust = itemView.findViewById(R.id.iv_must); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java index f27b328..ac8865b 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/lawlib/LawLibActivity.java @@ -1,5 +1,7 @@ package com.sucstepsoft.txrealtimelocation.activitys.lawlib; +import android.content.Intent; +import android.support.v7.widget.LinearLayoutManager; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -7,30 +9,38 @@ import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; +import com.jcodecraeer.xrecyclerview.ProgressStyle; import com.jcodecraeer.xrecyclerview.XRecyclerView; +import com.sucstepsoft.cm_utils.constant.PathConfig; +import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.activitys.notice.NoticeDetailActivity; +import com.sucstepsoft.txrealtimelocation.adapters.NewNoticeAdapter; +import com.sucstepsoft.txrealtimelocation.beans.NoticeBean; +import com.sucstepsoft.txrealtimelocation.net.LocationApiService; + +import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; public class LawLibActivity extends BaseActivity { - - @BindView(R.id.et_law_name) - EditText mEtLawName; - @BindView(R.id.btn_search) - Button mBtnSearch; - @BindView(R.id.pb_loading) - ProgressBar mPbLoading; - @BindView(R.id.iv_empty) - ImageView mIvEmpty; - @BindView(R.id.tv_error_hint) - TextView mTvErrorHint; + private List mDatas; + private NewNoticeAdapter mAdapter; + private int mCurPage = 1; + private Disposable mDisposable; @BindView(R.id.xlv_com_lib) XRecyclerView mXlvComLib; private Unbinder mBind; - private int mCurrentPage = 1; @Override protected int setLayoutId() { @@ -40,56 +50,129 @@ public class LawLibActivity extends BaseActivity { @Override public void initData() { mBind = ButterKnife.bind(this); - refreshView(STATE_LOAD_SUCCESS); mTvBaseTitle.setText("法律法规"); - reStateView(STATE_LOAD_LOADING); - getLawList(mCurrentPage); + refreshView(STATE_LOAD_LOADING); + mDatas = new ArrayList<>(); + mAdapter = new NewNoticeAdapter(mActivity, mDatas); + LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + mXlvComLib.setLayoutManager(layoutManager); + mXlvComLib.setAdapter(mAdapter); + mAdapter.addOnItemClickListener(bean -> showIssueDetail(bean)); + mXlvComLib.setNoMore(true); + mXlvComLib.setRefreshProgressStyle(ProgressStyle.BallGridBeat); + mXlvComLib.setLoadingMoreProgressStyle(ProgressStyle.Pacman); + mXlvComLib.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + refresh(); + } + + @Override + public void onLoadMore() { + loadMore(); + } + }); + getNewsList(1); } - private void getLawList(int currentPage) { + /** + * 显示详情 + * + * @param bean + */ + private void showIssueDetail(NoticeBean.RowsBean bean) { + Intent intent = new Intent(); + intent.putExtra("id", bean.getArticleContentId()); + intent.setClass(mActivity, NoticeDetailActivity.class); + startActivity(intent); } - private void getLawListByName(int currentPage) { + /** + * 待下派 + */ + private void getNewsList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getNoticeListById(PathConfig.LAW_TYPE_ID, page + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisposable = d; + } + @Override + public void onNext(NoticeBean newsListBean) { + if (newsListBean != null && newsListBean.getRows() != null && newsListBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(newsListBean.getRows()); + } else { + mDatas.addAll(newsListBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mXlvComLib.refreshComplete(); + if (mDatas.size() >= newsListBean.getTotal()) { + mXlvComLib.loadMoreComplete(); + mXlvComLib.setNoMore(true); + } else { + mXlvComLib.loadMoreComplete(); + mXlvComLib.setNoMore(false); + } + refreshView(STATE_LOAD_SUCCESS); + } else { + if (page > 1) { + mXlvComLib.loadMoreComplete(); + mXlvComLib.setNoMore(true); + } else { + //无数据 + mXlvComLib.refreshComplete(); + mXlvComLib.setNoMore(true); + refreshView(STATE_LOAD_EMPTY); + } + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (mXlvComLib != null) { + mXlvComLib.refreshComplete(); + mXlvComLib.loadMoreComplete(); + } + refreshView(STATE_LOAD_ERROR); +// ToastUtils.showShort("数据加载失败,请稍后重试"); + } + + @Override + public void onComplete() { + + } + }); } - private void reStateView(int state) { - switch (state) { - case STATE_LOAD_LOADING: - mTvErrorHint.setVisibility(View.VISIBLE); - mTvErrorHint.setText("数据加载中..."); - mIvEmpty.setVisibility(View.GONE); - mXlvComLib.setVisibility(View.GONE); - mPbLoading.setVisibility(View.VISIBLE); - break; - case STATE_LOAD_SUCCESS: - mTvErrorHint.setVisibility(View.GONE); - mIvEmpty.setVisibility(View.GONE); - mXlvComLib.setVisibility(View.VISIBLE); - mPbLoading.setVisibility(View.GONE); - break; - case STATE_LOAD_ERROR: - mTvErrorHint.setVisibility(View.VISIBLE); - mTvErrorHint.setText("数据加载失败,请稍后重试"); - mIvEmpty.setVisibility(View.VISIBLE); - mXlvComLib.setVisibility(View.GONE); - mPbLoading.setVisibility(View.GONE); - break; - case STATE_LOAD_EMPTY: - mTvErrorHint.setVisibility(View.VISIBLE); - mTvErrorHint.setText("未找到相关内容"); - mIvEmpty.setVisibility(View.VISIBLE); - mXlvComLib.setVisibility(View.GONE); - mPbLoading.setVisibility(View.GONE); - break; - } + + private void refresh() { + getNewsList(1); + } + + private void loadMore() { + getNewsList(mCurPage); } @Override protected void onDestroy() { + if (mDisposable != null && !mDisposable.isDisposed()) { + mDisposable.dispose(); + } + if (mBind != null) { + mBind.unbind(); + } super.onDestroy(); - mBind.unbind(); } - } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserActivity.java index 42714b8..4765e33 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserActivity.java @@ -399,15 +399,7 @@ public class UserActivity extends BaseActivity { */ private void doLoginApp(String name, String pwd, ProgressDialog dialog) { String md5Pwd = EncryptUtils.encryptMD5ToStringTimes(pwd, 3); - TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { - ToastUtils.showShort("未授权"); - return; - } - String deviceId = manager.getDeviceId(); - if (TextUtils.isEmpty(deviceId)) { - deviceId = getDeviceId(); - } + String deviceId = getDeviceId(); LoginUser info = new LoginUser(); info.setAppVersion(AppUtils.getAppVersionCode()); info.setAppId(PathConfig.APP_VERSION_ID); @@ -566,13 +558,11 @@ public class UserActivity extends BaseActivity { * 退出登录 */ private void loginOut() { - Intent intent = new Intent(); - intent.setAction(PathConfig.ACTION_STOP_LOCATION); - sendBroadcast(intent); - GlobalProvider.save(mActivity, "isUpload", "12"); - GlobalProvider.save(mActivity, "token", ""); +// Intent intent = new Intent(); +// intent.setAction(PathConfig.ACTION_STOP_LOCATION); +// sendBroadcast(intent); UserLgUtils.setPassword(""); -// exitLocationService(); + UserLgUtils.setCheckRemember(false); reStartApp(); } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserInfoActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserInfoActivity.java index 31c706e..0c6ca54 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserInfoActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/mine/UserInfoActivity.java @@ -179,15 +179,7 @@ public class UserInfoActivity extends BaseActivity { */ private void doLoginApp(String name, String pwd, ProgressDialog dialog) { String md5Pwd = EncryptUtils.encryptMD5ToStringTimes(pwd, 3); - TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { - ToastUtils.showShort("未授权"); - return; - } - String deviceId = manager.getDeviceId(); - if (TextUtils.isEmpty(deviceId)) { - deviceId = getDeviceId(); - } + String deviceId = getDeviceId(); LoginUser info = new LoginUser(); info.setAppVersion(AppUtils.getAppVersionCode()); info.setAppId(PathConfig.APP_VERSION_ID); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeActivity.java index c46e727..73b9f14 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeActivity.java @@ -1,17 +1,31 @@ package com.sucstepsoft.txrealtimelocation.activitys.notice; +import android.app.Activity; +import android.content.Intent; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; import android.text.TextUtils; +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; +import com.sucstepsoft.cm_utils.constant.PathConfig; +import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; import com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.adapters.NewNoticeAdapter; +import com.sucstepsoft.txrealtimelocation.adapters.NoticeAdapter; +import com.sucstepsoft.txrealtimelocation.beans.NewsListBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeBean; import com.sucstepsoft.txrealtimelocation.fragments.mine.NewsFragment; +import com.sucstepsoft.txrealtimelocation.net.LocationApiService; import java.util.ArrayList; import java.util.List; @@ -19,20 +33,23 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; /** * createTime:2019-8-6 * 通知公告 */ public class NoticeActivity extends BaseActivity { - @BindView(R.id.xtl_tabs) - XTabLayout mTablayout; - @BindView(R.id.vp_content) - ViewPager mVpContent; - + @BindView(R.id.xlv_notice) + XRecyclerView mRlvNotices; + private List mDatas; + private NewNoticeAdapter mAdapter; + private int mCurPage = 1; private Unbinder mBind; - private String[] mTitles = new String[]{"通知公告", "全民宣传", "每日通报"}; - private List mFragments = new ArrayList<>(); + private Disposable mDisposable; @Override protected int setLayoutId() { @@ -43,62 +60,127 @@ public class NoticeActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("通知公告"); - refreshView(STATE_LOAD_SUCCESS); -// 通知公告:notice;全民宣传:propaganda;每日通报:daily - String type = getIntent().getStringExtra("type"); - NewsFragment noticeFragment = new NewsFragment(); - Bundle bundle = new Bundle(); - bundle.putString("type", "notice"); - noticeFragment.setArguments(bundle); - NewsFragment publicFragment = new NewsFragment(); - Bundle bundle1 = new Bundle(); - bundle1.putString("type", "propaganda"); - publicFragment.setArguments(bundle1); - NewsFragment avisoFragment = new NewsFragment(); - Bundle bundle2 = new Bundle(); - bundle2.putString("type", "daily"); - avisoFragment.setArguments(bundle2); - mFragments.add(noticeFragment); - mFragments.add(publicFragment); - mFragments.add(avisoFragment); - VpNoticeAdapter adapter = new VpNoticeAdapter(getSupportFragmentManager()); - mVpContent.setAdapter(adapter); - mTablayout.setxTabDisplayNum(3); - mTablayout.setupWithViewPager(mVpContent); - if (!TextUtils.isEmpty(type)) { - mVpContent.setCurrentItem(2); - } + refreshView(STATE_LOAD_LOADING); + mDatas = new ArrayList<>(); + mAdapter = new NewNoticeAdapter(mActivity, mDatas); + LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + mRlvNotices.setLayoutManager(layoutManager); + mRlvNotices.setAdapter(mAdapter); + mAdapter.addOnItemClickListener(bean -> showIssueDetail(bean)); + mRlvNotices.setNoMore(true); + mRlvNotices.setRefreshProgressStyle(ProgressStyle.BallGridBeat); + mRlvNotices.setLoadingMoreProgressStyle(ProgressStyle.Pacman); + mRlvNotices.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + refresh(); + } + + @Override + public void onLoadMore() { + loadMore(); + } + }); + getNewsList(1); + } + + /** + * 显示详情 + * + * @param bean + */ + private void showIssueDetail(NoticeBean.RowsBean bean) { + Intent intent = new Intent(); + intent.putExtra("id", bean.getArticleContentId()); + intent.setClass(mActivity, NoticeDetailActivity.class); + startActivity(intent); + } + + /** + * 待下派 + */ + private void getNewsList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getNoticeListById(PathConfig.NOTICE_TYPE_ID, page + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisposable = d; + } + + @Override + public void onNext(NoticeBean newsListBean) { + if (newsListBean != null && newsListBean.getRows() != null && newsListBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(newsListBean.getRows()); + } else { + mDatas.addAll(newsListBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvNotices.refreshComplete(); + if (mDatas.size() >= newsListBean.getTotal()) { + mRlvNotices.loadMoreComplete(); + mRlvNotices.setNoMore(true); + } else { + mRlvNotices.loadMoreComplete(); + mRlvNotices.setNoMore(false); + } + refreshView(STATE_LOAD_SUCCESS); + } else { + if (page > 1) { + mRlvNotices.loadMoreComplete(); + mRlvNotices.setNoMore(true); + } else { + //无数据 + mRlvNotices.refreshComplete(); + mRlvNotices.setNoMore(true); + refreshView(STATE_LOAD_EMPTY); + } + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (mRlvNotices != null) { + mRlvNotices.refreshComplete(); + mRlvNotices.loadMoreComplete(); + } + refreshView(STATE_LOAD_ERROR); + ToastUtils.showShort("数据加载失败,请稍后重试"); + } + + @Override + public void onComplete() { + + } + }); + } + + + private void refresh() { + getNewsList(1); + } + + private void loadMore() { + getNewsList(mCurPage); } @Override protected void onDestroy() { + if (mDisposable != null && !mDisposable.isDisposed()) { + mDisposable.dispose(); + } if (mBind != null) { mBind.unbind(); } super.onDestroy(); } - - private class VpNoticeAdapter extends FragmentStatePagerAdapter { - - public VpNoticeAdapter(FragmentManager fm) { - super(fm); - } - - @Override - public Fragment getItem(int i) { - return mFragments.get(i); - } - - @Override - public int getCount() { - return mFragments.size(); - } - - @Nullable - @Override - public CharSequence getPageTitle(int position) { - return mTitles[position]; - } - } - } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeDetailActivity.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeDetailActivity.java index 0c32e1f..8694db3 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeDetailActivity.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/activitys/notice/NoticeDetailActivity.java @@ -2,6 +2,8 @@ package com.sucstepsoft.txrealtimelocation.activitys.notice; import android.graphics.Bitmap; import android.os.Build; +import android.text.TextUtils; +import android.view.TextureView; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; @@ -13,16 +15,25 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.ZoomButtonsController; +import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.txrealtimelocation.R; import com.sucstepsoft.txrealtimelocation.beans.NewsListBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeDetailBean; +import com.sucstepsoft.txrealtimelocation.net.LocationApiService; import java.lang.reflect.Method; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; /** * 通知公告-详情 @@ -50,23 +61,71 @@ public class NoticeDetailActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mTvBaseTitle.setText("详情"); - refreshView(STATE_LOAD_SUCCESS); - NewsListBean.RowsBean bean = (NewsListBean.RowsBean) getIntent().getSerializableExtra("bean"); - if (bean != null) { - setDataToView(bean); + refreshView(STATE_LOAD_LOADING); + String id = getIntent().getStringExtra("id"); + if (!TextUtils.isEmpty(id)) { + setDataToView(id); } else { ToastUtils.showShort("数据有误"); finish(); } } - private void setDataToView(NewsListBean.RowsBean bean) { - mTvNoticeTitle.setText(bean.getNewsTitle()); - mTvNoticeGator.setText(bean.getNewsAuthor()); - mTvNoticeTime.setText(bean.getNewsTime()); - content = bean.getNewsContent(); - wvContent = new WebView(getApplicationContext()); - initWebView(); + private void setDataToView(String id) { + getNoticeDetail(id); + } + + private void getNoticeDetail(String articleContentId) { + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getNoticeDetailById(articleContentId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(NoticeDetailBean noticeDetailBean) { + if (noticeDetailBean != null) { + refreshView(STATE_LOAD_SUCCESS); + mTvNoticeTitle.setText(noticeDetailBean.getTitle()); + String source = ""; + + if (!TextUtils.isEmpty(noticeDetailBean.getAuthor())) { + source = noticeDetailBean.getAuthor(); + } + if (!TextUtils.isEmpty(noticeDetailBean.getSource())) { + source = noticeDetailBean.getSource(); + } + if (TextUtils.isEmpty(source)) { + mTvNoticeGator.setVisibility(View.GONE); + } else { + mTvNoticeGator.setVisibility(View.VISIBLE); + mTvNoticeGator.setText(source); + } + + mTvNoticeTime.setText(noticeDetailBean.getPublishDate()); + content = noticeDetailBean.getContent(); + wvContent = new WebView(getApplicationContext()); + initWebView(); + } else { + refreshView(STATE_LOAD_EMPTY); + } + } + + @Override + public void onError(Throwable e) { + refreshView(STATE_LOAD_ERROR); + } + + @Override + public void onComplete() { + + } + }); } /** diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java index 4e8c4f5..ff4d692 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/CounterCheckOptionsAdapter.java @@ -40,6 +40,11 @@ public class CounterCheckOptionsAdapter extends BaseRecyclerAdapter { EmStateCheck state = oHolder.mScvOptions.getViewState(); diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/HistoryMissionAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/HistoryMissionAdapter.java index f60fcbc..ae5f700 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/HistoryMissionAdapter.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/HistoryMissionAdapter.java @@ -9,9 +9,7 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; import com.sucstepsoft.txrealtimelocation.R; import com.sucstepsoft.txrealtimelocation.adapters.holders.HistroyHolder; import com.sucstepsoft.txrealtimelocation.beans.CounterCheckListBean; -import com.sucstepsoft.txrealtimelocation.beans.HistoryMissionBean; -import java.lang.invoke.LambdaConversionException; import java.util.List; /** @@ -47,5 +45,6 @@ public class HistoryMissionAdapter extends BaseRecyclerAdapter { +public class MissionDetailAdapter extends BaseRecyclerAdapter { public MissionDetailAdapter(Context ctx, List list) { super(ctx, list); } @Override - public HistroyHolder createHolder(ViewGroup parent, int viewType) { - - return null; + public MissionDetailHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_mission_detail, parent, false); + return new MissionDetailHolder(itemView); } @Override - public void bindHolder(HistroyHolder holder, int i) { - + public void bindHolder(MissionDetailHolder holder, int i) { + holder.mTvName.setText(mData.get(i).getNameJoinByCheckItemId()); + switch (mData.get(i).getCheckResult()) { + case 1: + holder.mTvCheckType.setText("检查合格"); + holder.mTvDay.setVisibility(View.GONE); + break; + case 2: + holder.mTvCheckType.setText("立即整改"); + holder.mTvDay.setVisibility(View.GONE); + break; + case 3: + holder.mTvCheckType.setText("限期整改"); + holder.mTvDay.setVisibility(View.VISIBLE); + holder.mTvDay.setText(mData.get(i).getRectificationDays() + "天"); + break; + case 4: + holder.mTvCheckType.setText("企业不配合"); + holder.mTvDay.setVisibility(View.GONE); + break; + case 0: + default: + holder.mTvCheckType.setText("未检查"); + holder.mTvDay.setVisibility(View.GONE); + break; + } + if (!TextUtils.isEmpty(mData.get(i).getScenePhotos())) { + holder.mRlvPhotos.setVisibility(View.VISIBLE); + List photos = new ArrayList<>(); + String[] split = mData.get(i).getScenePhotos().split(","); + for (int j = 0; j < split.length; j++) { + if (!TextUtils.isEmpty(split[j])) { + photos.add(BaseUrlApi.BASE_IMG_URL + split[j]); + } + } + BaseShowPhotoAdapter adapter = new BaseShowPhotoAdapter(mContext, photos); + GridLayoutManager manager = new GridLayoutManager(mContext, 4) { + @Override + public boolean canScrollVertically() { + return false; + } + }; + holder.mRlvPhotos.setLayoutManager(manager); + holder.mRlvPhotos.setAdapter(adapter); + adapter.addOnItemClickListener(url -> { + Intent intent = new Intent(mContext, PhotoActivity.class); + intent.putExtra("imgUrls", new ArrayList<>(adapter.getData())); + mContext.startActivity(intent); + }); + } else { + holder.mRlvPhotos.setVisibility(View.GONE); + } } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/NewNoticeAdapter.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/NewNoticeAdapter.java new file mode 100755 index 0000000..5832b85 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/NewNoticeAdapter.java @@ -0,0 +1,39 @@ +package com.sucstepsoft.txrealtimelocation.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.sucstepsoft.txrealtimelocation.R; +import com.sucstepsoft.txrealtimelocation.adapters.holders.NoticeHolder; +import com.sucstepsoft.txrealtimelocation.beans.NewsListBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeBean; + +import java.util.List; + +/** + * 作者: Adam + * 日期: 2019/8/13 - 10:29 + * 邮箱: itgaojian@163.com + * 描述: + */ +public class NewNoticeAdapter extends BaseRecyclerAdapter { + public NewNoticeAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public NoticeHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_notice, parent, false); + return new NoticeHolder(itemView); + } + + @Override + public void bindHolder(NoticeHolder noticeHolder, int i) { + noticeHolder.mTvTitle.setText(mData.get(i).getTitle()); + noticeHolder.mTvTime.setText(mData.get(i).getPublishDate()); + noticeHolder.mTvPub.setText(mData.get(i).getSummaryJoinByArticleCategoryId()); + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CounterCheckOptionHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CounterCheckOptionHolder.java index cdcb905..7f31700 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CounterCheckOptionHolder.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/CounterCheckOptionHolder.java @@ -4,6 +4,7 @@ import android.support.annotation.NonNull; import android.support.v7.widget.AppCompatSpinner; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -27,6 +28,8 @@ public class CounterCheckOptionHolder extends RecyclerView.ViewHolder { public RadioGroup mRg; public LinearLayout mLlSp; public RadioButton mRbNow; + public ImageView mIvIsMust; + public CounterCheckOptionHolder(@NonNull View itemView) { super(itemView); mTvTitle = itemView.findViewById(R.id.tv_title); @@ -37,6 +40,7 @@ public class CounterCheckOptionHolder extends RecyclerView.ViewHolder { mRg = itemView.findViewById(R.id.rg_term); mRbNow = itemView.findViewById(R.id.rb_now); mLlSp = itemView.findViewById(R.id.ll_sp); + mIvIsMust = itemView.findViewById(R.id.iv_must); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/HistroyHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/HistroyHolder.java index 772fba6..36c6e55 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/HistroyHolder.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/HistroyHolder.java @@ -19,6 +19,7 @@ public class HistroyHolder extends RecyclerView.ViewHolder { public TextView mTvAddress; public TextView mTvState; public TextView mTvType; + public TextView mTvTime; public HistroyHolder(@NonNull View itemView) { super(itemView); @@ -27,5 +28,6 @@ public class HistroyHolder extends RecyclerView.ViewHolder { mTvAddress = itemView.findViewById(R.id.tv_address); mTvState = itemView.findViewById(R.id.tv_state); mTvType = itemView.findViewById(R.id.tv_type); + mTvTime = itemView.findViewById(R.id.tv_time); } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/MissionDetailHolder.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/MissionDetailHolder.java index a4bc1bc..0b7fb38 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/MissionDetailHolder.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/adapters/holders/MissionDetailHolder.java @@ -3,6 +3,9 @@ package com.sucstepsoft.txrealtimelocation.adapters.holders; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.widget.TextView; + +import com.sucstepsoft.txrealtimelocation.R; /** * 作者: adam @@ -11,8 +14,17 @@ import android.view.View; * 描述: */ public class MissionDetailHolder extends RecyclerView.ViewHolder { + public TextView mTvName; + public TextView mTvDay; + public TextView mTvCheckType; + public RecyclerView mRlvPhotos; public MissionDetailHolder(@NonNull View itemView) { super(itemView); + mTvName = itemView.findViewById(R.id.tv_options_name); + mTvDay = itemView.findViewById(R.id.tv_day); + mTvCheckType = itemView.findViewById(R.id.tv_options_check); + mRlvPhotos = itemView.findViewById(R.id.rlv_photos); + } } diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java index ee7eb1d..c46349a 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CheckOptionsbean.java @@ -25,6 +25,15 @@ public class CheckOptionsbean { private String nameJoinByCheckItemId; private String summaryJoinByCheckItemId; private String typeJoinByCheckItemId; + private int type; + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } public String getIndustryCheckItemId() { return industryCheckItemId; diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyEnterBean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyEnterBean.java index 9171169..3a9f1d3 100644 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyEnterBean.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/CompanyEnterBean.java @@ -39,6 +39,7 @@ public class CompanyEnterBean { private String name;//企业名称 private String phone;//电话 private String riskOperation;//风险 + private String riskOperationPid;//风险父ID private String type;//类型 private String workplace;// diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeBean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeBean.java new file mode 100644 index 0000000..362d53d --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeBean.java @@ -0,0 +1,193 @@ +package com.sucstepsoft.txrealtimelocation.beans; + +import java.io.Serializable; +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/4/7 - 10:43 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class NoticeBean { + + /** + * page : 1 + * rows : [{"articleCategoryId":"string","articleContentId":"string","author":"string","content":"string","isPublish":0,"link":"string","publishDate":"string","sort":"string","source":"string","subTitle":"string","summary":"string","summaryJoinByArticleCategoryId":"string","title":"string","titleJoinByArticleCategoryId":"string"}] + * total : 20 + */ + + private int page; + private int total; + private List rows; + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean implements Serializable { + /** + * articleCategoryId : string + * articleContentId : string + * author : string + * content : string + * isPublish : 0 + * link : string + * publishDate : string + * sort : string + * source : string + * subTitle : string + * summary : string + * summaryJoinByArticleCategoryId : string + * title : string + * titleJoinByArticleCategoryId : string + */ + + private String articleCategoryId; + private String articleContentId; + private String author; + private String content; + private int isPublish; + private String link; + private String publishDate; + private String sort; + private String source; + private String subTitle; + private String summary; + private String summaryJoinByArticleCategoryId; + private String title; + private String titleJoinByArticleCategoryId; + + public String getArticleCategoryId() { + return articleCategoryId; + } + + public void setArticleCategoryId(String articleCategoryId) { + this.articleCategoryId = articleCategoryId; + } + + public String getArticleContentId() { + return articleContentId; + } + + public void setArticleContentId(String articleContentId) { + this.articleContentId = articleContentId; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getIsPublish() { + return isPublish; + } + + public void setIsPublish(int isPublish) { + this.isPublish = isPublish; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public String getPublishDate() { + return publishDate; + } + + public void setPublishDate(String publishDate) { + this.publishDate = publishDate; + } + + public String getSort() { + return sort; + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getSubTitle() { + return subTitle; + } + + public void setSubTitle(String subTitle) { + this.subTitle = subTitle; + } + + public String getSummary() { + return summary; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public String getSummaryJoinByArticleCategoryId() { + return summaryJoinByArticleCategoryId; + } + + public void setSummaryJoinByArticleCategoryId(String summaryJoinByArticleCategoryId) { + this.summaryJoinByArticleCategoryId = summaryJoinByArticleCategoryId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getTitleJoinByArticleCategoryId() { + return titleJoinByArticleCategoryId; + } + + public void setTitleJoinByArticleCategoryId(String titleJoinByArticleCategoryId) { + this.titleJoinByArticleCategoryId = titleJoinByArticleCategoryId; + } + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeDetailBean.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeDetailBean.java new file mode 100644 index 0000000..4954051 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/beans/NoticeDetailBean.java @@ -0,0 +1,154 @@ +package com.sucstepsoft.txrealtimelocation.beans; + +/** + * 作者: adam + * 日期: 2020/4/7 - 10:59 AM + * 邮箱: itgaojian@163.com + * 描述: + */ +public class NoticeDetailBean { + + /** + * articleCategoryId : string + * articleContentId : string + * author : string + * content : string + * isPublish : 0 + * link : string + * publishDate : string + * sort : string + * source : string + * subTitle : string + * summary : string + * summaryJoinByArticleCategoryId : string + * title : string + * titleJoinByArticleCategoryId : string + */ + + private String articleCategoryId; + private String articleContentId; + private String author; + private String content; + private int isPublish; + private String link; + private String publishDate; + private String sort; + private String source; + private String subTitle; + private String summary; + private String summaryJoinByArticleCategoryId; + private String title; + private String titleJoinByArticleCategoryId; + + public String getArticleCategoryId() { + return articleCategoryId; + } + + public void setArticleCategoryId(String articleCategoryId) { + this.articleCategoryId = articleCategoryId; + } + + public String getArticleContentId() { + return articleContentId; + } + + public void setArticleContentId(String articleContentId) { + this.articleContentId = articleContentId; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public int getIsPublish() { + return isPublish; + } + + public void setIsPublish(int isPublish) { + this.isPublish = isPublish; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public String getPublishDate() { + return publishDate; + } + + public void setPublishDate(String publishDate) { + this.publishDate = publishDate; + } + + public String getSort() { + return sort; + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getSubTitle() { + return subTitle; + } + + public void setSubTitle(String subTitle) { + this.subTitle = subTitle; + } + + public String getSummary() { + return summary; + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public String getSummaryJoinByArticleCategoryId() { + return summaryJoinByArticleCategoryId; + } + + public void setSummaryJoinByArticleCategoryId(String summaryJoinByArticleCategoryId) { + this.summaryJoinByArticleCategoryId = summaryJoinByArticleCategoryId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getTitleJoinByArticleCategoryId() { + return titleJoinByArticleCategoryId; + } + + public void setTitleJoinByArticleCategoryId(String titleJoinByArticleCategoryId) { + this.titleJoinByArticleCategoryId = titleJoinByArticleCategoryId; + } +} diff --git a/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java b/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java index cdfedb5..c571f32 100755 --- a/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java +++ b/app/src/main/java/com/sucstepsoft/txrealtimelocation/net/LocationApiService.java @@ -22,6 +22,8 @@ import com.sucstepsoft.txrealtimelocation.beans.LeaveListBean; import com.sucstepsoft.txrealtimelocation.beans.MainNumBean; import com.sucstepsoft.txrealtimelocation.beans.MineLocationBean; import com.sucstepsoft.txrealtimelocation.beans.NewsListBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeBean; +import com.sucstepsoft.txrealtimelocation.beans.NoticeDetailBean; import com.sucstepsoft.txrealtimelocation.beans.PenLineBean; import com.sucstepsoft.txrealtimelocation.beans.PersonBean; import com.sucstepsoft.txrealtimelocation.beans.SignDataBean; @@ -704,6 +706,20 @@ public interface LocationApiService { //check/getcheckbyid/{checkId} @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) @GET("check/listcheckitembycheckid/{checkId}") - Observable getHistoryDetail(@Path("checkId") String checkId, @Header("token") String token); + Observable> getHistoryDetail(@Path("checkId") String checkId, @Header("token") String token); + //通知列表 + @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) + @GET("articlecontent/listpagearticlecontent") + Observable getNoticeListById(@Query("articleCategoryId") String typeId, @Query("page") String page, @Header("token") String token); + + //根据名称搜索通知 + @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) + @GET("articlecontent/listpagearticlecontent") + Observable getNoticeListByKeyWords(@Query("articleCategoryId") String typeId, @Query("page") String page, @Query("keywords") String keyWords, @Header("token") String token); + + //通知详情 + @Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"}) + @GET("articlecontent/getarticlecontentbyid/{articleContentId}") + Observable getNoticeDetailById(@Path("articleContentId") String id, @Header("token") String token); } diff --git a/app/src/main/res/layout/activity_check_options_ce.xml b/app/src/main/res/layout/activity_check_options_ce.xml index a357dbd..8085c4b 100644 --- a/app/src/main/res/layout/activity_check_options_ce.xml +++ b/app/src/main/res/layout/activity_check_options_ce.xml @@ -8,58 +8,75 @@ android:orientation="vertical" tools:context=".activitys.issue.CheckOptionsActivity"> - + android:scrollbars="none"> + android:orientation="vertical"> - - - - - - - - - -