提交 7e0d97d8 authored 作者: flexiblexd@163.com's avatar flexiblexd@163.com

1.实际情况

上级 85c40d17
...@@ -2703,6 +2703,43 @@ ...@@ -2703,6 +2703,43 @@
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkTrueChoosePeopleActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="选择"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkTruePeopleActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="新增"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkTrueChooseMaterialsActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="新增"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.work.WorkTrueMaterialsActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="选择"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.wd.workoffice.fileprovider" android:authorities="com.wd.workoffice.fileprovider"
......
...@@ -60,6 +60,7 @@ public class TaskMaterials extends BaseMesPageBean { ...@@ -60,6 +60,7 @@ public class TaskMaterials extends BaseMesPageBean {
private String actId; private String actId;
private String actNum; private String actNum;
private boolean directReq; private boolean directReq;
private Boolean sueType;
private String itemCode; private String itemCode;
private String itemName; private String itemName;
private double itemQty; private double itemQty;
...@@ -81,6 +82,14 @@ public class TaskMaterials extends BaseMesPageBean { ...@@ -81,6 +82,14 @@ public class TaskMaterials extends BaseMesPageBean {
private Object changeBy; private Object changeBy;
private boolean delete; private boolean delete;
public Boolean getSueType() {
return sueType;
}
public void setSueType(Boolean sueType) {
this.sueType = sueType;
}
public String getId() { public String getId() {
return id; return id;
} }
......
...@@ -990,6 +990,11 @@ public interface MesApiService { ...@@ -990,6 +990,11 @@ public interface MesApiService {
*/ */
@POST("/himes/api/workOrder/add/updatePlanLabor.json") @POST("/himes/api/workOrder/add/updatePlanLabor.json")
Observable<BaseMesBean> updatePlanLabor(@Query("functionId") String functionId, @Body RequestBody requestBody); Observable<BaseMesBean> updatePlanLabor(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* @return
*/
@POST("/himes/api/workOrder/add/updateLabor.json")
Observable<BaseMesBean> updateLabor(@Query("functionId") String functionId, @Body RequestBody requestBody);
/** /**
...@@ -997,12 +1002,24 @@ public interface MesApiService { ...@@ -997,12 +1002,24 @@ public interface MesApiService {
*/ */
@POST("/himes/api/workOrder/deletePlanLabor/{id}.json") @POST("/himes/api/workOrder/deletePlanLabor/{id}.json")
Observable<BaseMesBean> deletePlanLabor(@Path("id") String id, @Query("functionId") String functionId); Observable<BaseMesBean> deletePlanLabor(@Path("id") String id, @Query("functionId") String functionId);
/**
* @return
*/
@POST("/himes/api/workOrder/deleteLabor/{id}.json")
Observable<BaseMesBean> deleteLabor(@Path("id") String id, @Query("functionId") String functionId);
/** /**
* @return * @return
*/ */
@POST("/himes/api/workOrder/deletePlanMaterial/{id}.json") @POST("/himes/api/workOrder/deletePlanMaterial/{id}.json")
Observable<BaseMesBean> deletePlanMaterial(@Path("id") String id, @Query("functionId") String functionId); Observable<BaseMesBean> deletePlanMaterial(@Path("id") String id, @Query("functionId") String functionId);
/**
* @return
*/
@POST("/himes/api/workOrder/deleteMaterial/{id}.json")
Observable<BaseMesBean> deleteMaterial(@Path("id") String id, @Query("functionId") String functionId);
/** /**
* @return * @return
...@@ -1024,7 +1041,23 @@ public interface MesApiService { ...@@ -1024,7 +1041,23 @@ public interface MesApiService {
Observable<BaseMesBean> updatePlanMaterial(@Query("functionId") String functionId, @Body RequestBody requestBody); Observable<BaseMesBean> updatePlanMaterial(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* @return
*/
@POST("/himes/api/workOrder/add/saveLabor.json")
Observable<BaseMesBean> saveLabor(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* @return
*/
@POST("/himes/api/workOrder/add/saveMaterial.json")
Observable<BaseMesBean> saveMaterial(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* @return
*/
@POST("/himes/api/workOrder/add/updateMaterial.json")
Observable<BaseMesBean> updateMaterial(@Query("functionId") String functionId, @Body RequestBody requestBody);
} }
...@@ -48,6 +48,8 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -48,6 +48,8 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
RecyclerView rvSon; RecyclerView rvSon;
@BindView(R.id.rv_data) @BindView(R.id.rv_data)
RecyclerView rvData; RecyclerView rvData;
@BindView(R.id.tv_add_task)
TextView tvAddTask;
private Map<String, Object> param; private Map<String, Object> param;
private List<WorkOrderSon.ListBean> sonList; private List<WorkOrderSon.ListBean> sonList;
private List<WorkTaskBean.ListBean> taskList; private List<WorkTaskBean.ListBean> taskList;
...@@ -74,6 +76,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -74,6 +76,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
ButterKnife.bind(this, getContentView()); ButterKnife.bind(this, getContentView());
rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false)); rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
rvSon.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false)); rvSon.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
tvAddTask.setVisibility(View.GONE);
} }
...@@ -107,7 +110,6 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -107,7 +110,6 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
} }
private void getData() { private void getData() {
RtfUtils.getMesRtf().workOrderChild("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { RtfUtils.getMesRtf().workOrderChild("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
...@@ -148,6 +150,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -148,6 +150,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
}); });
} }
private void getTask() { private void getTask() {
RtfUtils.getMesRtf().pageActivity("1", WorkUtils.convertMapToBody(taskParam)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { RtfUtils.getMesRtf().pageActivity("1", WorkUtils.convertMapToBody(taskParam)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
...@@ -188,6 +191,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -188,6 +191,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
}); });
} }
@Override @Override
protected void initEvent() { protected void initEvent() {
sonAdapter.setOnLoadMoreListener(() -> { sonAdapter.setOnLoadMoreListener(() -> {
...@@ -202,7 +206,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg { ...@@ -202,7 +206,7 @@ public class QualityWorkTrueFragment extends WorkBaseFg {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(WorkTaskDetailActivity.class, startActivity(WorkTaskDetailActivity.class,
"plan","0","info",JSON.toJSONString(taskList.get(position))); "plan", "0", "info", JSON.toJSONString(taskList.get(position)));
} }
}); });
} }
......
...@@ -167,9 +167,16 @@ public class WorkTaskMaterialsFragment extends WorkBaseFg { ...@@ -167,9 +167,16 @@ public class WorkTaskMaterialsFragment extends WorkBaseFg {
}).show(); }).show();
break; break;
case R.id.tv_edit: case R.id.tv_edit:
if (TextUtils.equals(plan, "1")) {
startActivity(WorkTaskMaterialsActivity.class, "id", info.getId(), startActivity(WorkTaskMaterialsActivity.class, "id", info.getId(),
"data", JSON.toJSONString(taskList.get(position)) "data", JSON.toJSONString(taskList.get(position))
, "info", JSON.toJSONString(info)); , "info", JSON.toJSONString(info));
} else {
startActivity(WorkTrueMaterialsActivity.class, "id", info.getId(),
"data", JSON.toJSONString(taskList.get(position))
, "info", JSON.toJSONString(info));
}
break; break;
} }
} }
...@@ -205,8 +212,13 @@ public class WorkTaskMaterialsFragment extends WorkBaseFg { ...@@ -205,8 +212,13 @@ public class WorkTaskMaterialsFragment extends WorkBaseFg {
getTask(); getTask();
} }
private void delete(String id) { private void delete(String id) {
RtfUtils.getMesRtf().deletePlanMaterial(id, "aa8faf47c93311e98334fa163e1166bd" Observable<BaseMesBean> baseMesBeanObservable ;
).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { if (TextUtils.equals(plan, "1")) {
baseMesBeanObservable = RtfUtils.getMesRtf().deletePlanMaterial(id, "1");
} else {
baseMesBeanObservable = RtfUtils.getMesRtf().deleteMaterial(id, "1");
}
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
public void doOnSubscribe(Disposable d) { public void doOnSubscribe(Disposable d) {
} }
......
...@@ -3,15 +3,13 @@ package com.wd.workoffice.ui.activity.mes.work; ...@@ -3,15 +3,13 @@ package com.wd.workoffice.ui.activity.mes.work;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean; import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.Config; import com.wd.workoffice.app.Config;
...@@ -32,8 +30,8 @@ import java.util.ArrayList; ...@@ -32,8 +30,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
...@@ -54,6 +52,12 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -54,6 +52,12 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
RecyclerView rvData; RecyclerView rvData;
@BindView(R.id.tv_add) @BindView(R.id.tv_add)
TextView tvAdd; TextView tvAdd;
@BindView(R.id.tv_agree)
TextView tvAgree;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.srl_refresh)
NestedScrollView srlRefresh;
private List<TaskPeopleBean.ListBean> taskList; private List<TaskPeopleBean.ListBean> taskList;
private WorkTaskPeopleAdapter taskAdapter; private WorkTaskPeopleAdapter taskAdapter;
private WorkTaskBean.ListBean info; private WorkTaskBean.ListBean info;
...@@ -75,6 +79,7 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -75,6 +79,7 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this, getContentView()); ButterKnife.bind(this, getContentView());
tvAgree.setVisibility(View.VISIBLE);
rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false)); rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
} }
...@@ -137,7 +142,7 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -137,7 +142,7 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
taskList.addAll(getList); taskList.addAll(getList);
taskAdapter.notifyDataSetChanged(); taskAdapter.notifyDataSetChanged();
} }
if (getList.size() == 0||getList.size()< Config.SIZE) { if (getList.size() == 0 || getList.size() < Config.SIZE) {
taskAdapter.loadMoreEnd(true); taskAdapter.loadMoreEnd(true);
} else { } else {
taskPage++; taskPage++;
...@@ -173,9 +178,16 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -173,9 +178,16 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
}).show(); }).show();
break; break;
case R.id.tv_edit: case R.id.tv_edit:
if (TextUtils.equals(plan, "1")) {
startActivity(WorkTaskPeopleActivity.class, "id", info.getId(), startActivity(WorkTaskPeopleActivity.class, "id", info.getId(),
"data", JSON.toJSONString(taskList.get(position)) "data", JSON.toJSONString(taskList.get(position))
, "info", JSON.toJSONString(info)); , "info", JSON.toJSONString(info));
} else {
startActivity(WorkTruePeopleActivity.class, "id", info.getId(),
"data", JSON.toJSONString(taskList.get(position))
, "info", JSON.toJSONString(info));
}
break; break;
} }
} }
...@@ -189,11 +201,6 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -189,11 +201,6 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
} }
@OnClick(R.id.tv_add)
public void onClick() {
startActivity(WorkTaskPeopleActivity.class, "info", JSON.toJSONString(info));
}
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
...@@ -212,9 +219,15 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -212,9 +219,15 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
taskParam.put("pageNum", 1); taskParam.put("pageNum", 1);
getTask(); getTask();
} }
private void delete(String id) { private void delete(String id) {
RtfUtils.getMesRtf().deletePlanLabor(id, "1" Observable<BaseMesBean> baseMesBeanObservable = RtfUtils.getMesRtf().deletePlanLabor(id, "1");
).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() { if (TextUtils.equals(plan, "1")) {
baseMesBeanObservable = RtfUtils.getMesRtf().deletePlanLabor(id, "1");
} else {
baseMesBeanObservable = RtfUtils.getMesRtf().deleteLabor(id, "1");
}
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
public void doOnSubscribe(Disposable d) { public void doOnSubscribe(Disposable d) {
} }
...@@ -239,4 +252,20 @@ public class WorkTaskPeopleFragment extends WorkBaseFg { ...@@ -239,4 +252,20 @@ public class WorkTaskPeopleFragment extends WorkBaseFg {
} }
}); });
} }
@OnClick({R.id.tv_add, R.id.tv_agree})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_add:
if (TextUtils.equals(plan, "1")) {
startActivity(WorkTaskPeopleActivity.class, "info", JSON.toJSONString(info));
} else {
startActivity(WorkTruePeopleActivity.class, "info", JSON.toJSONString(info));
}
break;
case R.id.tv_agree:
startActivity(WorkTrueChoosePeopleActivity.class, "info", JSON.toJSONString(info));
break;
}
}
} }
package com.wd.workoffice.ui.activity.mes.work;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddTaskEvent;
import com.wd.workoffice.bean.mesBean.TaskPeopleBean;
import com.wd.workoffice.bean.mesBean.WorkCodeBean;
import com.wd.workoffice.bean.mesBean.WorkTaskBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkTrueMateralsAdapter;
import com.wd.workoffice.ui.adapter.WorkTruePeopleAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 正式情況选择物料
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkTrueChooseMaterialsActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<WorkCodeBean.ListBean> clientList;
private WorkTrueMateralsAdapter clientAdapter;
private int page = 1;
private Map<String, Object> paramMap;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
WorkTaskBean.ListBean info = JSON.parseObject(getIntent().getStringExtra("info"),
WorkTaskBean.ListBean.class);
clientList = new ArrayList<>();
clientAdapter = new WorkTrueMateralsAdapter(R.layout.item_fault_search, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
paramMap = WorkUtils.simpleParam();
paramMap.put("woId", info.getWoId());
paramMap.put("actId", info.getId());
param.put("paramMap", paramMap);
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().pagePlanMaterial("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
List<WorkCodeBean.ListBean> getList = JSON.parseObject(data.getData().toString(), WorkCodeBean.class).getList();
if (page == 1) {
clientList.clear();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
clientAdapter.loadMoreComplete();
} else {
clientAdapter.loadMoreComplete();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
}
if (getList.size() == 0|| getList.size()< Config.SIZE) {
clientAdapter.loadMoreEnd();
} else {
page++;
}
toast("搜索成功");
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("pageNum", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
WorkCodeBean.ListBean listBean = clientList.get(position);
listBean.setId(null);
Observable<BaseMesBean> baseMesBeanObservable = RtfUtils.getMesRtf().saveMaterial("aa8faf47c93311e98334fa163e1166bd",
WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(listBean))));
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
EventBus.getDefault().post(new AddTaskEvent());
finish();
toast("提交成功");
}
});
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_fault_search;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
paramMap.put("itemName", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
package com.wd.workoffice.ui.activity.mes.work;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddTaskEvent;
import com.wd.workoffice.bean.mesBean.TaskPeopleBean;
import com.wd.workoffice.bean.mesBean.WorkTaskBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.WorkTruePeopleAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 正式情況选择员工
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkTrueChoosePeopleActivity extends WorkToolBarActivity {
@BindView(R.id.et_key)
EditText etKey;
@BindView(R.id.btn_search)
Button btnSearch;
@BindView(R.id.rv_client)
RecyclerView rvClient;
private Map<String, Object> param;
private List<TaskPeopleBean.ListBean> clientList;
private WorkTruePeopleAdapter clientAdapter;
private int page = 1;
private Map<String, Object> paramMap;
@Override
protected void initView() {
ButterKnife.bind(this);
rvClient.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
WorkTaskBean.ListBean info = JSON.parseObject(getIntent().getStringExtra("info"),
WorkTaskBean.ListBean.class);
clientList = new ArrayList<>();
clientAdapter = new WorkTruePeopleAdapter(R.layout.item_fault_search, clientList);
clientAdapter.bindToRecyclerView(rvClient);
clientAdapter.setEmptyView(R.layout.view_empty_content, rvClient);
param = WorkUtils.pageMesKey();
paramMap = WorkUtils.simpleParam();
paramMap.put("woId", info.getWoId());
paramMap.put("actId", info.getId());
param.put("paramMap", paramMap);
param.put("pageNum", 1);
getData();
}
private void getData() {
RtfUtils.getMesRtf().pagePlanLabor("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
List<TaskPeopleBean.ListBean> getList = JSON.parseObject(data.getData().toString(), TaskPeopleBean.class).getList();
if (page == 1) {
clientList.clear();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
clientAdapter.loadMoreComplete();
} else {
clientAdapter.loadMoreComplete();
clientList.addAll(getList);
clientAdapter.notifyDataSetChanged();
}
if (getList.size() == 0|| getList.size()< Config.SIZE) {
clientAdapter.loadMoreEnd();
} else {
page++;
}
toast("搜索成功");
}
});
}
@Override
protected void initEvent() {
clientAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
param.put("pageNum", page);
getData();
}
}, rvClient);
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
TaskPeopleBean.ListBean listBean = clientList.get(position);
listBean.setId(null);
Observable<BaseMesBean> baseMesBeanObservable = RtfUtils.getMesRtf().saveLabor("aa8faf47c93311e98334fa163e1166bd",
WorkUtils.convertMapToBody(JSON.parseObject(JSON.toJSONString(listBean))));
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
EventBus.getDefault().post(new AddTaskEvent());
finish();
toast("提交成功");
}
});
}
});
}
@Override
protected int layoutId() {
return R.layout.activity_mes_fault_search;
}
@OnClick(R.id.btn_search)
public void onViewClicked() {
paramMap.put("name", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
}
}
package com.wd.workoffice.ui.activity.mes.work;
import android.content.DialogInterface;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddTaskEvent;
import com.wd.workoffice.bean.mesBean.TaskMaterials;
import com.wd.workoffice.bean.mesBean.WorkCodeBean;
import com.wd.workoffice.bean.mesBean.WorkTaskBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.Map;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 实际情况下的物料
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkTrueMaterialsActivity extends WorkToolBarActivity {
@BindView(R.id.tv_cancel)
TextView tvCancel;
@BindView(R.id.tv_save)
TextView tvSave;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.ll_code)
LinearLayout llCode;
@BindView(R.id.tv_name)
TextView tvName;
@BindView(R.id.tv_num)
EditText tvNum;
@BindView(R.id.tv_level)
TextView tvLevel;
@BindView(R.id.tv_send)
TextView tvSend;
private TaskMaterials.ListBean data;
private WorkCodeBean.ListBean choosePeople;
private WorkTaskBean.ListBean info;
private String[] statusList = new String[]{"是", "否"};
private Integer[] statusValue = new Integer[]{1, 0};
private QMUIDialog.MenuDialogBuilder statusDialog;
private int chooseStatus = -1;
@Override
protected void initView() {
ButterKnife.bind(this);
statusDialog = DialogUtils.listDialog(this);
statusDialog.addItems(statusList, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
tvSend.setText(statusList[which]);
chooseStatus = statusValue[which];
}
});
}
@Override
protected void initData() {
info = JSON.parseObject(getIntent().getStringExtra("info"),
WorkTaskBean.ListBean.class);
String dataStr = getIntent().getStringExtra("data");
if (!TextUtils.isEmpty(dataStr)) {
data = JSON.parseObject(dataStr, TaskMaterials.ListBean.class);
choosePeople = new WorkCodeBean.ListBean();
choosePeople.setMaterialCode(data.getItemCode());
choosePeople.setMaterialName(data.getItemName());
choosePeople.setStorageCode(data.getLocationName());
if (data.getSueType()!=null){
if (data.getSueType()) {
chooseStatus = 1;
tvSend.setText(statusList[0]);
} else {
chooseStatus = 0;
tvSend.setText(statusList[1]);
}
}
tvNum.setText(MathUtils.converData(data.getItemQty(), 3));
tvName.setText(choosePeople.getMaterialName());
tvLevel.setText(choosePeople.getStorageDesc());
tvCode.setText(choosePeople.getMaterialCode());
}
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_work_add_materials;
}
@OnClick({R.id.ll_send,R.id.tv_cancel, R.id.tv_save, R.id.ll_code})
public void onClick(View view) {
switch (view.getId()) {
case R.id.ll_send:
statusDialog.show();
break;
case R.id.tv_cancel:
finish();
break;
case R.id.tv_save:
if (null == choosePeople) {
toast("请选择物料编码");
return;
}
if (TextUtils.isEmpty(tvNum.getText().toString())) {
toast("请填写数量");
return;
}
Map<String, Object> param = WorkUtils.simpleParam();
param.put("actId", info.getId());
param.put("actDesc", info.getDescription());
param.put("actNum", info.getActNum());
param.put("woId", info.getWoId());
param.put("itemCode", choosePeople.getMaterialCode());
param.put("itemName", choosePeople.getMaterialName());
param.put("itemQty", tvNum.getText().toString());
if (chooseStatus!=-1){
param.put("sueType", chooseStatus == 1);
}
Observable<BaseMesBean> baseMesBeanObservable;
if (data == null) {
baseMesBeanObservable = RtfUtils.getMesRtf().saveMaterial("aa8faf47c93311e98334fa163e1166bd",
WorkUtils.convertMapToBody(param));
} else {
param.put("id", data.getId());
baseMesBeanObservable = RtfUtils.getMesRtf().updateMaterial("1",
WorkUtils.convertMapToBody(param));
}
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
EventBus.getDefault().post(new AddTaskEvent());
finish();
toast("提交成功");
}
});
break;
case R.id.ll_code:
startActivityForResult(WorkTaskChooseCodeActivity.class, 10001
, "id", info.getWoId());
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10001 && resultCode == 10001) {
choosePeople = JSON.parseObject(data.getStringExtra("data"), WorkCodeBean.ListBean.class);
tvName.setText(choosePeople.getMaterialName());
tvLevel.setText(choosePeople.getStorageDesc());
tvCode.setText(choosePeople.getMaterialCode());
}
}
}
package com.wd.workoffice.ui.activity.mes.work;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddTaskEvent;
import com.wd.workoffice.bean.mesBean.WorkPeopleBean;
import com.wd.workoffice.bean.mesBean.WorkTaskBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.Map;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 新增任务下的员工
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkTruePeopleActivity extends WorkToolBarActivity {
@BindView(R.id.tv_cancel)
TextView tvCancel;
@BindView(R.id.tv_save)
TextView tvSave;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.tv_no)
TextView tvNo;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.ll_code)
LinearLayout llCode;
@BindView(R.id.tv_name)
TextView tvName;
@BindView(R.id.tv_type)
TextView tvType;
@BindView(R.id.tv_level)
TextView tvLevel;
private WorkTaskBean.ListBean data;
private WorkPeopleBean.ListBean choosePeople;
private WorkTaskBean.ListBean info;
@Override
protected void initView() {
ButterKnife.bind(this);
}
@Override
protected void initData() {
info = JSON.parseObject(getIntent().getStringExtra("info"),
WorkTaskBean.ListBean.class);
tvNo.setText(info.getActNum());
String dataStr = getIntent().getStringExtra("data");
if (!TextUtils.isEmpty(dataStr)) {
data = JSON.parseObject(dataStr, WorkTaskBean.ListBean.class);
choosePeople =new WorkPeopleBean.ListBean();
choosePeople.setCraftId(data.getCraftId());
choosePeople.setCraftName(data.getCraftName());
choosePeople.setSkillId(data.getCraftName());
choosePeople.setSkillCode(data.getCraftName());
choosePeople.setUserCode(data.getUserCode());
choosePeople.setUserId(data.getUserId());
choosePeople.setName(data.getUserName());
tvName.setText(choosePeople.getName());
tvLevel.setText(choosePeople.getLevel());
tvCode.setText(choosePeople.getUserCode());
tvType.setText(choosePeople.getCraftName());
}
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_work_add_people;
}
@OnClick({R.id.tv_cancel, R.id.tv_save, R.id.ll_code})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_cancel:
finish();
break;
case R.id.tv_save:
if (null == choosePeople) {
toast("请选择员工");
return;
}
Map<String, Object> param = WorkUtils.simpleParam();
param.put("actId", info.getId());
param.put("actDesc", info.getDescription());
param.put("actNum", info.getActNum());
param.put("craftId", choosePeople.getCraftId());
param.put("craftName", choosePeople.getCraftName());
param.put("skillId", choosePeople.getSkillId());
param.put("skillName", choosePeople.getSkillCode());
param.put("userCode", choosePeople.getUserCode());
param.put("userId", choosePeople.getUserId());
param.put("userName", choosePeople.getName());
param.put("woId", info.getWoId());
param.put("delete", false);
Observable<BaseMesBean> baseMesBeanObservable;
if (data == null) {
baseMesBeanObservable = RtfUtils.getMesRtf().saveLabor("aa8faf47c93311e98334fa163e1166bd",
WorkUtils.convertMapToBody(param));
} else {
param.put("id", data.getId());
baseMesBeanObservable = RtfUtils.getMesRtf().updateLabor("1",
WorkUtils.convertMapToBody(param));
}
baseMesBeanObservable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
EventBus.getDefault().post(new AddTaskEvent());
finish();
toast("提交成功");
}
});
break;
case R.id.ll_code:
startActivityForResult(WorkTaskChoosePeopleActivity.class, 10001
,"id",info.getWoId());
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10001 && resultCode == 10001) {
choosePeople = JSON.parseObject(data.getStringExtra("data"), WorkPeopleBean.ListBean.class);
tvName.setText(choosePeople.getName());
tvLevel.setText(choosePeople.getLevel());
tvCode.setText(choosePeople.getUserCode());
tvType.setText(choosePeople.getCraftName());
}
}
}
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.mesBean.TaskPeopleBean;
import com.wd.workoffice.bean.mesBean.WorkCodeBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class WorkTrueMateralsAdapter extends BaseQuickAdapter<WorkCodeBean.ListBean, BaseViewHolder> {
public WorkTrueMateralsAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, WorkCodeBean.ListBean item) {
helper.setText(R.id.tv_content1, item.getMaterialCode());
helper.setText(R.id.tv_content2, item.getMaterialName());
}
}
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.mesBean.TaskPeopleBean;
import com.wd.workoffice.bean.mesBean.WorkPeopleBean;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class WorkTruePeopleAdapter extends BaseQuickAdapter<TaskPeopleBean.ListBean, BaseViewHolder> {
public WorkTruePeopleAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, TaskPeopleBean.ListBean item) {
helper.setText(R.id.tv_content1, item.getUserCode());
helper.setText(R.id.tv_content2, item.getUserName());
}
}
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/srl_refresh"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:orientation="vertical" android:layout_height="60mm"
android:layout_height="wrap_content"> android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<TextView <TextView
android:id="@+id/tv_add" android:id="@+id/tv_add"
android:layout_width="150mm" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_marginRight="10mm"
android:background="@color/blue_btn" android:background="@color/blue_btn"
android:gravity="center" android:paddingHorizontal="20mm"
android:layout_marginTop="20mm"
android:paddingVertical="5mm" android:paddingVertical="5mm"
android:text="新建" android:text="新建"
android:textColor="@color/white" /> android:textColor="@color/white" />
<TextView
android:visibility="gone"
android:id="@+id/tv_agree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:background="@color/blue_btn"
android:paddingHorizontal="20mm"
android:paddingVertical="5mm"
android:text="选择"
android:textColor="@color/white" />
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/srl_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ll_bottom"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
\ No newline at end of file </RelativeLayout>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论