提交 f2fb75d7 authored 作者: lgd's avatar lgd

1.设备维修详情+审核

2.//TODO (设备采购,维修列表接口,新增维修的部门接口,接单),坩埚下单,下单时间选择器当前时间验证,mes其他页面,mes用户反馈空也展示,编辑任务担当无法修改
上级 0a57e1a8
...@@ -2051,6 +2051,14 @@ ...@@ -2051,6 +2051,14 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.work.DeviceRepairDetailActivity"
android:configChanges="keyboardHidden|orientation"
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"
......
...@@ -17,8 +17,8 @@ public enum PagePermissionType { ...@@ -17,8 +17,8 @@ public enum PagePermissionType {
PRODUCT_TRANSIT("base:product:transit:log", "往来单位"), PRODUCT_TRANSIT("base:product:transit:log", "往来单位"),
//设备维修 //设备维修
EQUIPMENT_REPAIR("equipment:equipmentRepair:page:list", "设备维修"), EQUIPMENT_REPAIR("equipment:equipmentRepair:page:list", "设备维修"),
EQUIPMENT_REPAIR_add("equipment:equipmetnRepair:add", "设备维修新增"), EQUIPMENT_REPAIR_ADD("equipment:equipmetnRepair:add", "设备维修新增"),
EQUIPMENT_REPAIR_update("equipment:equipmentRepair:update", "审核"), EQUIPMENT_REPAIR_UPDATE("equipment:equipmentRepair:update", "审核"),
EQUIPMENT_REPAIR_ITEM("equipment:equipmentRepairItem:list", "设备维修明细列表(不分页)"), EQUIPMENT_REPAIR_ITEM("equipment:equipmentRepairItem:list", "设备维修明细列表(不分页)"),
EQUIPMENT_REPAIR_APPLY("equipment:equipmentRepair:apply", "接单"), EQUIPMENT_REPAIR_APPLY("equipment:equipmentRepair:apply", "接单"),
EQUIPMENT_REPAIR_FINISH("equipment:equipmentRepair:finish", "完成"), EQUIPMENT_REPAIR_FINISH("equipment:equipmentRepair:finish", "完成"),
......
...@@ -1799,6 +1799,15 @@ public interface ApiService { ...@@ -1799,6 +1799,15 @@ public interface ApiService {
@GET("/equipmentPurchaseItem/list") @GET("/equipmentPurchaseItem/list")
Observable<BaseBean> equipmentPurchaseItemList(@Query("equipmentPurchaseId") String id); Observable<BaseBean> equipmentPurchaseItemList(@Query("equipmentPurchaseId") String id);
/**
* 明细项列表
*
* @return
*/
@GET("/equipmentRepairItem/list")
Observable<BaseBean> equipmentRepairItemList(@Query("equipmentRepairId") String id);
/** /**
* 设备采购明细列表(不分页) * 设备采购明细列表(不分页)
* *
...@@ -1807,5 +1816,11 @@ public interface ApiService { ...@@ -1807,5 +1816,11 @@ public interface ApiService {
@PUT("/equipmentPurchase/audit") @PUT("/equipmentPurchase/audit")
Observable<BaseBean> equipmentPurchaseAudit(@Body RequestBody requestBody); Observable<BaseBean> equipmentPurchaseAudit(@Body RequestBody requestBody);
/**
* 设备采购明细列表(不分页)
*
* @return
*/
@PUT("/equipmentRepair/audit")
Observable<BaseBean> equipmentRepairAudit(@Body RequestBody requestBody);
} }
package com.wd.workoffice.ui.activity.bat.work;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.DeviceBean;
import com.wd.workoffice.bean.DeviceBuyBean;
import com.wd.workoffice.bean.event.CheckDeviceEvent;
import com.wd.workoffice.bean.workEnum.PagePermissionType;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.DeviceDetailAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.appcompat.app.AlertDialog;
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.disposables.Disposable;
/**
* 设备维修详情
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class DeviceRepairDetailActivity extends WorkToolBarActivity {
@BindView(R.id.tv_refuse)
TextView tvRefuse;
@BindView(R.id.tv_agree)
TextView tvAgree;
@BindView(R.id.ll_bottom)
LinearLayout llBottom;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.tv_status)
TextView tvStatus;
@BindView(R.id.tv_receive_dep)
TextView tvReceiveDep;
@BindView(R.id.tv_order_people)
TextView tvOrderPeople;
@BindView(R.id.tv_order_dep)
TextView tvOrderDep;
@BindView(R.id.tv_order_time)
TextView tvOrderTime;
@BindView(R.id.tv_price)
TextView tvPrice;
@BindView(R.id.tv_remark)
TextView tvRemark;
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.tv_desc)
TextView tvDesc;
private List<DeviceBean.RecordsBean> dataList;
private DeviceDetailAdapter dataAdapter;
private Map<String, Object> param;
private DeviceBuyBean.RecordsBean info;
@Override
protected void initView() {
ButterKnife.bind(this);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
tvDesc.setText("维修明细");
}
private void changePermission() {
if (!WorkUtils.hasPermission(PagePermissionType.EQUIPMENT_REPAIR_UPDATE.getPermission())) {
tvRefuse.setVisibility(View.GONE);
tvAgree.setVisibility(View.GONE);
} else {
llBottom.setVisibility(View.VISIBLE);
}
}
@Override
protected void initData() {
info = JSON.parseObject(getIntent().getStringExtra("info"), DeviceBuyBean.RecordsBean.class);
getData(info.getId() + "");
tvCode.setText(info.getId());
tvStatus.setText(WorkUtils.getDeviceStatus(info.getStatus()));
tvReceiveDep.setText(info.getReceiveDeptName());
tvOrderPeople.setText(info.getLaunchUserName());
tvOrderDep.setText(info.getLaunchDeptName());
tvOrderTime.setText(info.getCreatedTime());
tvPrice.setText(info.getCreatedTime());
tvRemark.setText(info.getRemark());
if (info.getStatus() == 100) {
changePermission();
} else if (info.getStatus() == 200) {
if (!WorkUtils.hasPermission(PagePermissionType.EQUIPMENT_REPAIR_APPLY.getPermission())) {
llBottom.setVisibility(View.VISIBLE);
tvRefuse.setVisibility(View.GONE);
tvAgree.setVisibility(View.GONE);
}
} else {
llBottom.setVisibility(View.GONE);
}
dataList = new ArrayList<>();
dataAdapter = new DeviceDetailAdapter(R.layout.item_device_detail, dataList);
dataAdapter.bindToRecyclerView(rvData);
param = new HashMap<>();
param.put("id", info.getId());
}
private void getData(String id) {
RtfUtils.getRtf().equipmentRepairItemList(id).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
List<DeviceBean.RecordsBean> dataBean = JSON.parseArray(data.getData().toString(), DeviceBean.RecordsBean.class);
dataList.addAll(dataBean);
dataAdapter.notifyDataSetChanged();
}
});
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_device_buy_detail;
}
@OnClick({R.id.tv_refuse, R.id.tv_agree})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.tv_refuse:
checkDialog(220);
break;
case R.id.tv_agree:
checkDialog(200);
break;
}
}
private void checkDialog(int status) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = LayoutInflater.from(this).inflate(R.layout.view_check, null);
TextView tvOk = view.findViewById(R.id.tv_ok);
TextView tvDesc = view.findViewById(R.id.tv_desc);
tvDesc.setText(status == 1 ? "通过" : "拒绝");
TextView tvNum = view.findViewById(R.id.tv_num);
TextView tvCancel = view.findViewById(R.id.tv_cancel);
EditText etRemark = view.findViewById(R.id.et_content);
etRemark.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
tvNum.setText(s.length() + "/140");
}
});
builder.setView(view);
AlertDialog addCartDialog = builder.create();
tvOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(etRemark.getText().toString())) {
toast("请填写备注");
return;
}
check(status, etRemark.getText().toString());
addCartDialog.dismiss();
}
});
tvCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addCartDialog.dismiss();
}
});
addCartDialog.show();
}
private void check(int status, String remark) {
param.put("status", status);
param.put("auditRemark", remark);
param.put("id", info.getId());
RtfUtils.getRtf().equipmentRepairAudit(WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
toast("操作成功");
EventBus.getDefault().post(new CheckDeviceEvent());
finish();
}
});
}
}
...@@ -16,6 +16,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent; ...@@ -16,6 +16,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity; import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.DeviceBuyDetailActivity;
import com.wd.workoffice.ui.adapter.DeviceBuyAdapter; import com.wd.workoffice.ui.adapter.DeviceBuyAdapter;
import com.wd.workoffice.ui.adapter.DeviceRepairAdapter; import com.wd.workoffice.ui.adapter.DeviceRepairAdapter;
import com.wd.workoffice.util.UserKeeper; import com.wd.workoffice.util.UserKeeper;
...@@ -140,11 +141,9 @@ public class DeviceBuyCheckListFragment extends WorkBaseFg { ...@@ -140,11 +141,9 @@ public class DeviceBuyCheckListFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(CrucibleOrderDetailActivity.class, startActivity(DeviceBuyDetailActivity.class,
"identity",identity, "info", JSON.toJSONString(dataList.get(position)));
"type","1", }
"id", dataList.get(position).getId() + "",
"status", dataList.get(position).getStatus() + ""); }
}); });
} }
......
...@@ -17,6 +17,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent; ...@@ -17,6 +17,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity; import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.DeviceRepairDetailActivity;
import com.wd.workoffice.ui.adapter.DeviceRepairAdapter; import com.wd.workoffice.ui.adapter.DeviceRepairAdapter;
import com.wd.workoffice.ui.adapter.ProCruibleAdapter; import com.wd.workoffice.ui.adapter.ProCruibleAdapter;
import com.wd.workoffice.util.UserKeeper; import com.wd.workoffice.util.UserKeeper;
...@@ -68,7 +69,7 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg { ...@@ -68,7 +69,7 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg {
param = WorkUtils.pageKey(); param = WorkUtils.pageKey();
if (!TextUtils.isEmpty(state)) if (!TextUtils.isEmpty(state))
param.put("status", state); param.put("status", state);
param.put("receiveDeptId", UserKeeper.getInstance().getUserDepId()); // param.put("receiveDeptId", UserKeeper.getInstance().getUserDepId());
page = 1; page = 1;
param.put("current", page); param.put("current", page);
dataList = new ArrayList<>(); dataList = new ArrayList<>();
...@@ -108,7 +109,6 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg { ...@@ -108,7 +109,6 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg {
return; return;
} }
List<RepairBean.RecordsBean> getList = JSON.parseArray(JSON.parseObject(data.getData().toString()).getString("records"), RepairBean.RecordsBean.class); List<RepairBean.RecordsBean> getList = JSON.parseArray(JSON.parseObject(data.getData().toString()).getString("records"), RepairBean.RecordsBean.class);
if (page == 1) { if (page == 1) {
srlRefresh.finishRefresh(); srlRefresh.finishRefresh();
dataList.clear(); dataList.clear();
...@@ -143,11 +143,9 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg { ...@@ -143,11 +143,9 @@ public class DeviceRepairCheckListFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(CrucibleOrderDetailActivity.class, startActivity(DeviceRepairDetailActivity.class,
"identity",identity, "info", JSON.toJSONString(dataList.get(position)));
"type","1", }
"id", dataList.get(position).getId() + "",
"status", dataList.get(position).getStatus() + ""); }
}); });
} }
......
...@@ -17,6 +17,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent; ...@@ -17,6 +17,7 @@ import com.wd.workoffice.bean.event.CheckOrderEvent;
import com.wd.workoffice.retrofit.RtfUtils; import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver; import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity; import com.wd.workoffice.ui.activity.bat.order.CrucibleOrderDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.DeviceRepairDetailActivity;
import com.wd.workoffice.ui.adapter.DeviceRepairAdapter; import com.wd.workoffice.ui.adapter.DeviceRepairAdapter;
import com.wd.workoffice.ui.adapter.ProCruibleAdapter; import com.wd.workoffice.ui.adapter.ProCruibleAdapter;
import com.wd.workoffice.util.UserKeeper; import com.wd.workoffice.util.UserKeeper;
...@@ -143,11 +144,9 @@ public class DeviceRepairListFragment extends WorkBaseFg { ...@@ -143,11 +144,9 @@ public class DeviceRepairListFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(CrucibleOrderDetailActivity.class, startActivity(DeviceRepairDetailActivity.class,
"identity",identity, "info", JSON.toJSONString(dataList.get(position)));
"type","1", }
"id", dataList.get(position).getId() + "",
"status", dataList.get(position).getStatus() + ""); }
}); });
} }
......
...@@ -291,6 +291,7 @@ ...@@ -291,6 +291,7 @@
android:background="@color/red_btn_bg" /> android:background="@color/red_btn_bg" />
<TextView <TextView
android:id="@+id/tv_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10mm" android:layout_marginLeft="10mm"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论