diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fb7f4a8..61a9130 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 6c0b1fe..2524040 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -31,5 +31,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 121650a..455fa7b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/baselib/build.gradle b/baselib/build.gradle
index 3dc2c03..a931e97 100755
--- a/baselib/build.gradle
+++ b/baselib/build.gradle
@@ -106,4 +106,8 @@ dependencies {
api 'com.liulishuo.okdownload:okhttp:1.0.5'
api 'com.liulishuo.okdownload:okdownload:1.0.5'
api 'com.haibin:calendarview:3.6.9'
+ //zxing
+ api 'com.google.zxing:core:3.4.1'
+ api ('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false }
+
}
diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java
index 574a467..3036689 100755
--- a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java
+++ b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java
@@ -169,7 +169,9 @@ public class PathConfig {
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_LIST = "/oamodule/activity/mineLaunchRoutineWork";//我发起的日常工作列表
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_ADD = "/oamodule/activity/mineLaunchRoutineWorkAdd";//发起的日常工作
- public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_DETAIL = "/oamodule/activity/mineLaunchRoutineWorkDetail";//我发起的日常工作详情
+ public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL = "/oamodule/activity/mineLaunchRoutineWorkDetail";//日常工作详情
+ public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_RESTORE = "/oamodule/activity/routineRestore";//日常工作办结
+
public static final String PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_MINE_LAUNCH_EDIT = "/oamodule/activity/mineLaunchRoutineWorkEdit";//我发起的日常工作编辑
public static final String PATH_MODULE_OA_ACTIVITY_WORK_REPORT = "/oamodule/activity/workReport";//工作报告
diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java
index 11a6200..c24b8e7 100755
--- a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java
+++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseActivity.java
@@ -140,7 +140,6 @@ public abstract class BaseActivity extends AppCompatActivity {
} else {
sendBroadcast(new Intent(PathConfig.ACTION_REGISTER_BROAD));
}
-
}
diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
index 7256355..9a2d9b0 100644
--- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
+++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java
@@ -2,7 +2,6 @@ package com.tengshisoft.mainmodule.base;
import android.content.Intent;
import android.graphics.Color;
-import android.text.TextUtils;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -14,11 +13,10 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import com.hjq.toast.ToastUtils;
+import com.journeyapps.barcodescanner.CaptureActivity;
import com.tengshisoft.mainmodule.R;
import com.tengshisoft.mainmodule.R2;
-import com.tenlionsoft.baselib.constant.GlobalProvider;
import com.tenlionsoft.baselib.constant.PathConfig;
-import com.tenlionsoft.baselib.core.beans.UserExpandInfoBean;
import com.tenlionsoft.baselib.core.beans.UserInfoBean;
import com.tenlionsoft.baselib.core.network.update.CheckUpdateUtils;
import com.tenlionsoft.baselib.core.network.update.service.DownloadService;
@@ -113,7 +111,6 @@ public class MainTabActivity extends BaseActivity {
initContentView();
NetworkChangeReceiver.registerReceiver(mActivity);
//TODO 检查App版本 checkAppVersion();
-
}
diff --git a/oamodule/src/main/AndroidManifest.xml b/oamodule/src/main/AndroidManifest.xml
index 55b3a4a..1d04615 100644
--- a/oamodule/src/main/AndroidManifest.xml
+++ b/oamodule/src/main/AndroidManifest.xml
@@ -3,6 +3,8 @@
package="com.tenlionsoft.oamodule">
+
+
mFileBeans = new ArrayList<>();
+ private AddFileAdapter mAddFileAdapter;
+ private String[] fileFilter = new String[]{".doc", ".docx", ".xls", ".xlsx", ".pptx", ".ppt", ".txt", ".pdf"};
+ private int mFileMax = 9;
+ private String mUserId;
+ private String mUserType;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_routine_restore;
+ }
+
+ @Override
+ public void initData() {
+ mBind = ButterKnife.bind(this);
+ mTvBaseTitle.setText("日常工作");
+ mId = getIntent().getStringExtra("id");
+ mUserId = getIntent().getStringExtra("userId");
+ mUserType = getIntent().getStringExtra("userType");
+ if (TextUtils.isEmpty(mId)) {
+ ToastUtils.show("数据有误");
+ finish();
+ } else {
+ getDetailById();
+ }
+ initViews();
+ }
+
+ private void initViews() {
+ mFileBeans.add(new AddFileBean());
+ mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans);
+ mAddFileAdapter.addOnItemClickListener(addFileBean -> {
+ LogUtils.e("添加文件");
+ if (TextUtils.isEmpty(addFileBean.getId())) {
+ //选择
+ if (mFileMax == 0) {
+ ToastUtils.show("超过最大上传数量限制");
+ } else {
+ //TODO 校验是否有权限
+ new LFilePicker()
+ .withActivity(this)
+ .withRequestCode(LionActions.REQUEST_CODE_AC)
+ .withTitle("文件选择")
+ .withMaxNum(mFileMax)
+ .withFileFilter(fileFilter)
+ .start();
+ }
+ } else {
+ //预览
+ //判断文件类型
+ }
+ });
+ //删除上传的文件
+ mAddFileAdapter.addOnDeleteListener((bean, i) -> {
+ //删除list中的某个数据
+ mFileBeans.remove(i);
+ mAddFileAdapter.notifyDataSetChanged();
+ ++mFileMax;
+ });
+ mRlvRestoreFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvRestoreFiles.setAdapter(mAddFileAdapter);
+ mBtnConfirm.setOnClickListener(v -> doConfirm());
+ }
+
+ private boolean checkParams() {
+ String restore = mEtRestore.getText().toString().trim();
+ if (TextUtils.isEmpty(restore)) {
+ ToastUtils.show("请输入回复内容");
+ return false;
+ }
+ return true;
+ }
+
+ private RequestBody buildParams() {
+ SaveRoutineAcceptBean bean = new SaveRoutineAcceptBean();
+ String restore = mEtRestore.getText().toString().trim();
+ bean.setContent(restore);
+ bean.setUserId(UserLgUtils.getUserId());
+ bean.setUserName(UserLgUtils.getName());
+ bean.setRoutineWorkId(mBean.getRoutineWorkId());
+ bean.setUserType(mUserType);
+ if (mFileBeans.size() >= 2) {
+ StringBuilder fileId = new StringBuilder();
+ for (AddFileBean fileBean : mFileBeans) {
+ if (!TextUtils.isEmpty(fileBean.getId())) {
+ fileId.append(fileBean.getId()).append(",");
+ }
+ }
+ if (fileId.toString().endsWith(",")) {
+ fileId = new StringBuilder(fileId.substring(0, fileId.length() - 1));
+ }
+ bean.setFiles(fileId.toString().trim());
+ }
+ return RequestBody.create(new Gson().toJson(bean), MediaType.parse("application/json; charset=utf-8"));
+ }
+
+ private void doConfirm() {
+ if (checkParams()) {
+ RequestBody body = buildParams();
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(OAApi.class)
+ .doSaveAcceptRoutine(mUserId, body, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull BaseSuccessBean baseSuccessBean) {
+ if (dialog.isShowing()) dialog.dismiss();
+ ToastUtils.show("保存成功");
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ if (dialog.isShowing()) dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ if (requestCode == LionActions.REQUEST_CODE_AC) {
+ //文件
+ if (data != null) {
+ ArrayList paths = data.getStringArrayListExtra(Constant.RESULT_INFO);
+ if (paths != null && paths.size() > 0) {
+ doUploadFiles(paths);
+ } else {
+ ToastUtils.show("未选择文件");
+ }
+ } else {
+ ToastUtils.show("路径有误,请稍后重试");
+ }
+ }
+ }
+ }
+
+ private int mUploadCount = 0;
+
+ private void doUploadFiles(ArrayList paths) {
+ LogUtils.e(paths);
+
+ ProgressDialog progressDialog = UIUtil.initDialog(mActivity, "上传中...");
+ progressDialog.show();
+ List requests = new ArrayList<>();
+ List fileNames = new ArrayList<>();
+ for (int i = 0; i < paths.size(); i++) {
+ File file = new File(paths.get(i));
+ Observable observable = createObservable(file);
+ fileNames.add(file.getName());
+ if (observable == null) return;
+ requests.add(observable);
+ }
+ Observable[] observables1 = requests.toArray(new Observable[requests.size()]);
+
+ Observable.mergeArrayDelayError(observables1)
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NotNull Object o) {
+ ++mUploadCount;
+ if (o instanceof BaseSuccessBean) {
+ --mFileMax;
+ //刷新文件
+ BaseSuccessBean bean = (BaseSuccessBean) o;
+ AddFileBean fileBean = new AddFileBean();
+ fileBean.setId(bean.getData());
+ fileBean.setPath(BaseUrlApi.BASE_IMG_URL + bean.getData());
+ fileBean.setFileType(1);
+ fileBean.setFileName(fileNames.get(mUploadCount - 1));
+ mFileBeans.add(0, fileBean);
+ }
+ mAddFileAdapter.notifyDataSetChanged();
+ if (mUploadCount == paths.size()) {
+ mUploadCount = 0;
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ e.printStackTrace();
+ mUploadCount = 0;
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ToastUtils.show("上传失败,请稍后重试.");
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private Observable createObservable(File file) {
+ LogUtils.e(file.exists());
+ RequestBody requestFile = RequestBody.create(file, MediaType.parse("multipart/form-data"));
+ MultipartBody.Part body;
+ body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
+ return RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .uploadFile(body, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer());
+ }
+
+ /**
+ * 获取详情
+ */
+ private void getDetailById() {
+ RetrofitManager.getInstance()
+ .create(OAApi.class)
+ .getRoutineDetail(mId, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull RoutineBean routineBean) {
+ setDataToView(routineBean);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 回显数据
+ */
+ private void setDataToView(RoutineBean routineBean) {
+ refreshView(STATE_LOAD_SUCCESS);
+ mBean = routineBean;
+ mTvName.setText(mBean.getWorkName());
+ mTvStartTime.setText(mBean.getWorkCompleteStartTime());
+ mTvEndTime.setText(mBean.getWorkCompleteEndTime());
+ mTvTl.setText(mBean.getWorkCompleteDay() + "");
+ mTvUndertake.setText(mBean.getWorkUndertakerUserName());
+ mTvAssisted.setText(mBean.getWorkSponsorUserNames());
+ mSwSchedule.setChecked(mBean.getIsSchedule().equals("1"));
+ mTvRequest.setText(Html.fromHtml(mBean.getWorkResultReq()));
+ mTvRemark.setText(Html.fromHtml(mBean.getWorkRemarks()));
+ if (!TextUtils.isEmpty(mBean.getWorkFiles())) {
+ List files = new ArrayList<>();
+ String[] split = mBean.getWorkFiles().split(",");
+ for (int i = 0; i < split.length; i++) {
+ AddFileBean bean = new AddFileBean();
+ bean.setId(split[i]);
+ bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
+ bean.setFileType(1);
+ files.add(bean);
+ }
+ ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
+ mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvFiles.setAdapter(adapter);
+ }
+ }
+
+ @Override
+ protected void doSearchByTitle() {
+
+ }
+
+ @Override
+ protected void clearSearch() {
+
+ }
+}
\ No newline at end of file
diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkActivity.java
index 637bdf3..5d002ca 100644
--- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkActivity.java
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkActivity.java
@@ -1,5 +1,6 @@
package com.tenlionsoft.oamodule.activity.routine;
+import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
@@ -31,12 +32,14 @@ import com.tenlionsoft.oamodule.R;
import com.tenlionsoft.oamodule.R2;
import com.tenlionsoft.oamodule.adapter.RoutineAdapter;
import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean;
+import com.tenlionsoft.oamodule.beans.RoutineBean;
import com.tenlionsoft.oamodule.beans.RoutineListBean;
import com.tenlionsoft.oamodule.net.OAApi;
import java.util.ArrayList;
import java.util.List;
+import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
@@ -121,12 +124,41 @@ public class RoutineWorkActivity extends BaseActivity {
}
private void initViews() {
+ mIvBack.setOnClickListener(v -> finish());
mTvStartDate.setOnClickListener(v -> onShowDate(1));
mTvEndDate.setOnClickListener(v -> onShowDate(2));
mDatas = new ArrayList<>();
mAdapter = new RoutineAdapter(mActivity, mDatas);
mRlvContent.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvContent.setAdapter(mAdapter);
+ mAdapter.addOnItemClickListener(bean -> {
+ if (bean instanceof RoutineBean) {
+ //我发起的
+ RoutineBean bean1 = (RoutineBean) bean;
+ ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
+ .withString("id", bean1.getRoutineWorkId())
+ .navigation(mActivity, 12);
+ } else if (bean instanceof RoutineAcceptListBean.RowsBean) {
+ RoutineAcceptListBean.RowsBean bean1 = (RoutineAcceptListBean.RowsBean) bean;
+ if ("nto".equals(bean1.getStatus())) {
+ ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_RESTORE)
+ .withString("id", bean1.getRoutineWorkId())
+ .withString("userId", bean1.getRoutineWorkUserId())
+ .withString("userType", bean1.getUserType())
+ .navigation(mActivity, 12);
+
+ } else {
+ ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
+ .withString("id", bean1.getRoutineWorkId())
+ .withString("userId", bean1.getRoutineWorkUserId())
+ .navigation(mActivity, 12);
+ }
+
+ }
+ });
mRgType.setOnCheckedChangeListener((group, checkedId) -> {
if (checkedId == R.id.rb_apply) {
//我发起的
@@ -153,6 +185,16 @@ public class RoutineWorkActivity extends BaseActivity {
doRefresh();
}
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ if (requestCode == 12) {
+ doRefresh();
+ }
+ }
+ }
+
/**
* 我接受的工作
*/
diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java
new file mode 100644
index 0000000..33a59bd
--- /dev/null
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java
@@ -0,0 +1,262 @@
+package com.tenlionsoft.oamodule.activity.routine;
+
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.tenlionsoft.baselib.constant.PathConfig;
+import com.tenlionsoft.baselib.core.beans.AddFileBean;
+import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi;
+import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager;
+import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer;
+import com.tenlionsoft.baselib.core.widget.base.BaseActivity;
+import com.tenlionsoft.baselib.core.widget.base.ShowFileAdapter;
+import com.tenlionsoft.baselib.utils.ExceptionHandler;
+import com.tenlionsoft.baselib.utils.UserLgUtils;
+import com.tenlionsoft.oamodule.R;
+import com.tenlionsoft.oamodule.R2;
+import com.tenlionsoft.oamodule.beans.RoutineAcceptListBean;
+import com.tenlionsoft.oamodule.beans.RoutineBean;
+import com.tenlionsoft.oamodule.net.OAApi;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.appcompat.widget.SwitchCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+
+/**
+ * 作者: Adam
+ * 日期: 2022年04月18日11:32:54
+ * 邮箱: itgaojian@163.com
+ * 描述: 日常工作-详情页面
+ */
+@Route(path = PathConfig.PATH_MODULE_OA_ACTIVITY_ROUTINE_WORK_DETAIL)
+public class RoutineWorkDetailActivity extends BaseActivity {
+
+
+ @BindView(R2.id.tv_name)
+ TextView mTvName;
+ @BindView(R2.id.tv_start_time)
+ TextView mTvStartTime;
+ @BindView(R2.id.tv_end_time)
+ TextView mTvEndTime;
+ @BindView(R2.id.tv_tl)
+ TextView mTvTl;
+ @BindView(R2.id.tv_undertake)
+ TextView mTvUndertake;
+ @BindView(R2.id.tv_assisted)
+ TextView mTvAssisted;
+ @BindView(R2.id.sw_schedule)
+ SwitchCompat mSwSchedule;
+ @BindView(R2.id.tv_request)
+ TextView mTvRequest;
+ @BindView(R2.id.tv_remark)
+ TextView mTvRemark;
+ @BindView(R2.id.rlv_files)
+ RecyclerView mRlvFiles;
+ @BindView(R2.id.tv_restore)
+ TextView mTvRestore;
+ @BindView(R2.id.rlv_restore_files)
+ RecyclerView mRlvRestoreFiles;
+ @BindView(R2.id.ll_restore)
+ LinearLayout mLlRestore;
+ @BindView(R2.id.tv_file_hint)
+ TextView mTvFileHint;
+ @BindView(R2.id.tv_restore_file_hint)
+ TextView mTvRestoreFileHint;
+ @BindView(R2.id.tv_restore_time)
+ TextView mTvRestoreTime;
+ @BindView(R2.id.tv_restore_user_type)
+ TextView mTvRestoreUserType;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_routine_work_detail;
+ }
+
+ @Override
+ public void initData() {
+ ButterKnife.bind(this);
+ mTvBaseTitle.setText("工作详情");
+ String id = getIntent().getStringExtra("id");
+ String userId = getIntent().getStringExtra("userId");
+ if (TextUtils.isEmpty(userId)) {
+ //我发起的日常工作
+ getRoutineById(id);
+ } else {
+ //接收的日常工作
+ getRoutineByAcceptId(userId);
+ }
+ }
+
+ private void getRoutineByAcceptId(String userId) {
+ RetrofitManager.getInstance()
+ .create(OAApi.class)
+ .getRoutineAcceptDetail(userId, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(RoutineAcceptListBean.@NonNull RowsBean rowsBean) {
+ setCompleteDataToView(rowsBean);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 回显数据
+ */
+ private void setCompleteDataToView(RoutineAcceptListBean.RowsBean b) {
+ refreshView(STATE_LOAD_SUCCESS);
+ mTvName.setText(b.getRoutineWorkDTO().getWorkName());
+ mTvStartTime.setText(b.getRoutineWorkDTO().getWorkCompleteStartTime());
+ mTvEndTime.setText(b.getRoutineWorkDTO().getWorkCompleteEndTime());
+ mTvTl.setText(b.getRoutineWorkDTO().getWorkCompleteDay() + "");
+ mTvUndertake.setText(b.getRoutineWorkDTO().getWorkUndertakerUserName());
+ mTvAssisted.setText(b.getRoutineWorkDTO().getWorkSponsorUserNames());
+ mSwSchedule.setChecked(b.getRoutineWorkDTO().getIsSchedule().equals("1"));
+ mTvRequest.setText(Html.fromHtml(b.getRoutineWorkDTO().getWorkResultReq()));
+ mTvRemark.setText(Html.fromHtml(b.getRoutineWorkDTO().getWorkRemarks()));
+ if (!TextUtils.isEmpty(b.getRoutineWorkDTO().getWorkFiles())) {
+ List files = new ArrayList<>();
+ mTvFileHint.setVisibility(View.GONE);
+ mRlvFiles.setVisibility(View.VISIBLE);
+ String[] split = b.getRoutineWorkDTO().getWorkFiles().split(",");
+ for (int i = 0; i < split.length; i++) {
+ AddFileBean bean = new AddFileBean();
+ bean.setId(split[i]);
+ bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
+ bean.setFileType(1);
+ files.add(bean);
+ }
+ ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
+ mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvFiles.setAdapter(adapter);
+ } else {
+ mTvFileHint.setVisibility(View.VISIBLE);
+ mRlvFiles.setVisibility(View.GONE);
+ }
+ mTvRestore.setText(Html.fromHtml(b.getContent()));
+ mTvRestoreTime.setText(b.getGmtCreate());
+ mTvRestoreUserType.setText("undertaker".equals(b.getUserType()) ? "承办人员" : "协办人员");
+ if (!TextUtils.isEmpty(b.getFiles())) {
+ mRlvRestoreFiles.setVisibility(View.VISIBLE);
+ mTvRestoreFileHint.setVisibility(View.GONE);
+ List files = new ArrayList<>();
+ String[] split = b.getRoutineWorkDTO().getWorkFiles().split(",");
+ for (int i = 0; i < split.length; i++) {
+ AddFileBean bean = new AddFileBean();
+ bean.setId(split[i]);
+ bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
+ bean.setFileType(1);
+ files.add(bean);
+ }
+ ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
+ mRlvRestoreFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvRestoreFiles.setAdapter(adapter);
+ } else {
+ mRlvRestoreFiles.setVisibility(View.GONE);
+ mTvRestoreFileHint.setVisibility(View.VISIBLE);
+ }
+ }
+
+ /**
+ * 获取日常工作详情
+ */
+ private void getRoutineById(String id) {
+ RetrofitManager.getInstance()
+ .create(OAApi.class)
+ .getRoutineDetail(id, UserLgUtils.getToken())
+ .compose(RxTransformer.getTransformer())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(@NonNull RoutineBean routineBean) {
+ setDataToView(routineBean);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void setDataToView(RoutineBean b) {
+ refreshView(STATE_LOAD_SUCCESS);
+ mLlRestore.setVisibility(View.GONE);
+ mTvName.setText(b.getWorkName());
+ mTvStartTime.setText(b.getWorkCompleteStartTime());
+ mTvEndTime.setText(b.getWorkCompleteEndTime());
+ mTvTl.setText(b.getWorkCompleteDay() + "");
+ mTvUndertake.setText(b.getWorkUndertakerUserName());
+ mTvAssisted.setText(b.getWorkSponsorUserNames());
+ mSwSchedule.setChecked(b.getIsSchedule().equals("1"));
+ mTvRequest.setText(Html.fromHtml(b.getWorkResultReq()));
+ mTvRemark.setText(Html.fromHtml(b.getWorkRemarks()));
+ if (!TextUtils.isEmpty(b.getWorkFiles())) {
+ mTvFileHint.setVisibility(View.GONE);
+ mRlvFiles.setVisibility(View.VISIBLE);
+ List files = new ArrayList<>();
+ String[] split = b.getWorkFiles().split(",");
+ for (int i = 0; i < split.length; i++) {
+ AddFileBean bean = new AddFileBean();
+ bean.setId(split[i]);
+ bean.setPath(BaseUrlApi.BASE_IMG_URL + split[i]);
+ bean.setFileType(1);
+ files.add(bean);
+ }
+ ShowFileAdapter adapter = new ShowFileAdapter(mActivity, files);
+ mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4));
+ mRlvFiles.setAdapter(adapter);
+ } else {
+ mTvFileHint.setVisibility(View.VISIBLE);
+ mRlvFiles.setVisibility(View.GONE);
+ }
+ }
+
+ @Override
+ protected void doSearchByTitle() {
+
+ }
+
+ @Override
+ protected void clearSearch() {
+
+ }
+}
\ No newline at end of file
diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/RoutineAdapter.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/RoutineAdapter.java
index 2c82380..2186891 100644
--- a/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/RoutineAdapter.java
+++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/adapter/RoutineAdapter.java
@@ -38,15 +38,18 @@ public class RoutineAdapter extends BaseRecyclerAdapter