提交 613df52a authored 作者: lgd's avatar lgd

1.提前结束

2.//TODO erp用户激活测试,忘记/重置密码测试,坩埚下单页面,组装下单,产品下单还差附件测试,mes,消息,刷新token
上级 19b199d8
......@@ -873,7 +873,7 @@
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.order.WorkSendApplyDetailActivity"
android:name=".ui.activity.bat.order.SendApplyDetailActivity"
android:configChanges="keyboardHidden|orientation"
android:label="申请发货详情"
android:launchMode="singleTop"
......@@ -881,13 +881,21 @@
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.order.WorkSendApplyAddActivity"
android:name=".ui.activity.bat.order.SendApplyAddActivity"
android:configChanges="keyboardHidden|orientation"
android:label="申请发货"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.order.EndApplyActivity"
android:configChanges="keyboardHidden|orientation"
android:label="提前结束列表"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.wd.workoffice.fileprovider"
......
......@@ -1155,5 +1155,18 @@ public interface ApiService {
@POST("/procedureStart/so/applyOutStock/{orderId}")
Observable<BaseBean> sendApply(@Path("orderId") String orderId,@Body RequestBody requestBody);
/**
* _step5_1-发起提前结束申请
*
* @return
*/
@POST("/procedureStart/so/applyAdvanceFinish/{orderId}")
Observable<BaseBean> endApply(@Path("orderId") String orderId,@Body RequestBody requestBody);
/**
* step5_3-一个订单的提前结束历史记录
*
* @return
*/
@GET("/advance-finish-apply/so/logs/{orderId}")
Observable<BaseBean> endApplyList(@Path("orderId") String orderId,@QueryMap Map<String, Object> param);
}
package com.wd.workoffice.ui.activity.bat.order;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
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.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.EndApplyBean;
import com.wd.workoffice.bean.ProPriceBean;
import com.wd.workoffice.bean.event.CheckSendEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.EndApplyAdapter;
import com.wd.workoffice.ui.adapter.SendApplyAdapter;
import com.wd.workoffice.ui.adapter.WorkProPriceAdapter;
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.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
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 EndApplyActivity extends WorkToolBarActivity {
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private Map<String, Object> param;
private List<EndApplyBean.RecordsBean> dataList;
private EndApplyAdapter dataAdapter;
private int page = 1;
@Override
protected void initView() {
ButterKnife.bind(this);
rvData.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
dataList = new ArrayList<>();
dataAdapter = new EndApplyAdapter(R.layout.item_send_apply, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
param = WorkUtils.pageKey();
page = 1;
param.put("current", page);
getData();
}
private void getData() {
RtfUtils.getRtf().endApplyList(getIntent().getStringExtra("orderId"), 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;
}
List<EndApplyBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), EndApplyBean.class).getRecords();
dataList.clear();
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
page = 1;
param.put("current", page);
getData();
}
});
// dataAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
// @Override
// public void onLoadMoreRequested() {
// param.put("current", page);
// getData();
// }
// }, rvData);
}
@Override
protected int layoutId() {
return R.layout.activity_pro_price;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (TextUtils.equals("status", getIntent().getStringExtra("300"))) {
getMenuInflater().inflate(R.menu.menu_add, menu);
}
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add:
checkDialog();
break;
}
return super.onOptionsItemSelected(item);
}
private void checkDialog() {
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("提前申请结束");
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(etRemark.getText().toString());
addCartDialog.dismiss();
}
});
tvCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addCartDialog.dismiss();
}
});
addCartDialog.show();
}
private void check(String remark) {
Map<String, Object> param = WorkUtils.simpleParam();
param.put("orderType", getIntent().getStringExtra("orderType"));
param.put("applyRemark", remark);
param.put("orderId", getIntent().getStringExtra("orderId"));
RtfUtils.getRtf().endApply(getIntent().getStringExtra("orderId"), 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("操作成功");
getData();
}
});
}
}
......@@ -8,7 +8,6 @@ import com.google.android.material.tabs.TabLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.SaleSupplierFragment;
import com.wd.workoffice.ui.fg.SendApplyFragment;
import java.util.ArrayList;
......@@ -82,7 +81,7 @@ public class SendApplyActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add:
startActivity(WorkSendApplyAddActivity.class, "id",getIntent().getStringExtra("orderId"));
startActivity(SendApplyAddActivity.class, "id",getIntent().getStringExtra("orderId"));
break;
}
return super.onOptionsItemSelected(item);
......
package com.wd.workoffice.ui.activity.bat.order;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
......@@ -17,15 +16,11 @@ import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.OrderDetail;
import com.wd.workoffice.bean.event.CheckLogisticEvent;
import com.wd.workoffice.bean.event.CheckOrderEvent;
import com.wd.workoffice.bean.event.CheckSendEvent;
import com.wd.workoffice.bean.event.SendWeightEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.store.StoreOrderSuccessActivity;
import com.wd.workoffice.ui.activity.bat.store.StoreSaleClientActivity;
import com.wd.workoffice.ui.activity.bat.store.StoreSaleConfirmActivity;
import com.wd.workoffice.ui.adapter.WorkSendApplyAddAdapter;
import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.PickTimeUtils;
......@@ -57,7 +52,7 @@ import io.reactivex.disposables.Disposable;
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkSendApplyAddActivity extends WorkToolBarActivity {
public class SendApplyAddActivity extends WorkToolBarActivity {
@BindView(R.id.tv_bottom)
TextView tvBottom;
@BindView(R.id.rv_data)
......@@ -243,7 +238,7 @@ public class WorkSendApplyAddActivity extends WorkToolBarActivity {
case R.id.tv_bottom:
break;
case R.id.rl_time:
PickTimeUtils.showPickThree(WorkSendApplyAddActivity.this, new OnTimeSelectListener() {
PickTimeUtils.showPickThree(SendApplyAddActivity.this, new OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
String time = TimeUtils.date2String(date, new SimpleDateFormat("yyyy-MM-dd"));
......
......@@ -49,7 +49,7 @@ import io.reactivex.disposables.Disposable;
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkSendApplyDetailActivity extends WorkToolBarActivity {
public class SendApplyDetailActivity extends WorkToolBarActivity {
@BindView(R.id.tv_refuse)
TextView tvRefuse;
@BindView(R.id.tv_agree)
......
package com.wd.workoffice.ui.activity.bat.order.sale;
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.RelativeLayout;
import android.widget.TextView;
......@@ -11,21 +16,28 @@ import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.OrderDetail;
import com.wd.workoffice.bean.event.CheckTicketEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.EndApplyActivity;
import com.wd.workoffice.ui.activity.bat.order.SendApplyActivity;
import com.wd.workoffice.ui.adapter.OrderDetailProductAdapter;
import com.wd.workoffice.ui.adapter.OrderProcessAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
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.Observable;
import io.reactivex.disposables.Disposable;
/**
......@@ -219,6 +231,14 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
case R.id.tv_agree:
break;
case R.id.tv_finish_apply:
if (dataBean == null) {
toast("正在加载中,请稍后");
return;
}
startActivity(EndApplyActivity.class,
"status", getIntent().getStringExtra("status"),
"orderType", dataBean.getOrderType(),
"orderId", getIntent().getStringExtra("id"));
break;
case R.id.tv_send_apply:
startActivity(SendApplyActivity.class, "orderId", getIntent().getStringExtra("id"));
......@@ -226,4 +246,5 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
}
}
}
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.EndApplyBean;
import com.wd.workoffice.bean.SendApplyBean;
import com.wd.workoffice.util.WorkUtils;
import java.util.List;
import androidx.annotation.Nullable;
/**
* Created by flexible on 2018/8/13.
*/
public class EndApplyAdapter extends BaseQuickAdapter<EndApplyBean.RecordsBean, BaseViewHolder> {
int status;
public EndApplyAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
public EndApplyAdapter(int layoutResId, @Nullable List<EndApplyBean.RecordsBean> data, int status) {
super(layoutResId, data);
this.status = status;
}
@Override
protected void convert(BaseViewHolder helper, EndApplyBean.RecordsBean item) {
helper.setText(R.id.tv_name, item.getSerialNumber());
helper.setText(R.id.tv_reason, item.getApplyRemark());
helper.setText(R.id.tv_time, item.getCreatedTime());
helper.setText(R.id.tv_status, WorkUtils.getFinancialStatus(Integer.valueOf(item.getStatus())));
// if (status == 0) {
// helper.setVisible(R.id.ll_btn, true);
// helper.addOnClickListener(R.id.tv_agree);
// helper.addOnClickListener(R.id.tv_refuse);
// }
}
}
......@@ -16,13 +16,10 @@ import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkBaseFg;
import com.wd.workoffice.bean.SendApplyBean;
import com.wd.workoffice.bean.event.CheckLogisticEvent;
import com.wd.workoffice.bean.event.CheckSendEvent;
import com.wd.workoffice.bean.event.CheckTicketEvent;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.order.WorkSendApplyDetailActivity;
import com.wd.workoffice.ui.activity.bat.work.WorkLogisticsDetailActivity;
import com.wd.workoffice.ui.activity.bat.order.SendApplyDetailActivity;
import com.wd.workoffice.ui.adapter.SendApplyAdapter;
import com.wd.workoffice.util.WorkUtils;
......@@ -40,7 +37,6 @@ import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
......@@ -147,7 +143,7 @@ public class SendApplyFragment extends WorkBaseFg {
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
startActivity(WorkSendApplyDetailActivity.class, "info", JSON.toJSONString(dataList.get(position)));
startActivity(SendApplyDetailActivity.class, "info", JSON.toJSONString(dataList.get(position)));
}
});
dataAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
......
......@@ -78,8 +78,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:visibility="gone"
android:layout_marginTop="10mm">
android:layout_marginTop="10mm"
android:visibility="gone">
<TextView
android:id="@+id/tv_agree"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论