提交 2ee405a1 authored 作者: lgd's avatar lgd

1.入库新增,.外采购订单入库取消箱号,添加照片(必传),供应订单入库取消箱号

上级 029cdc69
package com.wd.workoffice.ui.activity.bat.order; package com.wd.workoffice.ui.activity.bat.order;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View;
import android.widget.EditText; import android.widget.EditText;
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.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean; import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.OrderDetail; import com.wd.workoffice.bean.OrderDetail;
import com.wd.workoffice.bean.event.CheckAddStockEvent; import com.wd.workoffice.bean.event.CheckAddStockEvent;
import com.wd.workoffice.bean.listener.HwUploadListener;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.workEnum.OrderType; import com.wd.workoffice.bean.workEnum.OrderType;
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.adapter.ImgAddAdapter;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.HwObsUtil;
import com.wd.workoffice.util.MathUtils; import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.WorkUtils; import com.wd.workoffice.util.WorkUtils;
import com.zhihu.matisse.Matisse;
import com.zhihu.matisse.MimeType;
import com.zhihu.matisse.internal.entity.CaptureStrategy;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
...@@ -51,25 +72,52 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -51,25 +72,52 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
TextView tvRemarkNum; TextView tvRemarkNum;
@BindView(R.id.et_box_num) @BindView(R.id.et_box_num)
EditText etBoxNum; EditText etBoxNum;
@BindView(R.id.rv_photo)
RecyclerView rvPhoto;
@BindView(R.id.ll_photo)
LinearLayout llPhoto;
@BindView(R.id.ll_box_num)
LinearLayout llBoxNum;
private Map<String, Object> param; private Map<String, Object> param;
private String orderType; private String orderType;
private OrderDetail dataBean; private OrderDetail dataBean;
private List<ImageBean> imgList;
private ImgAddAdapter imgAddAdapter;
@Override @Override
protected void initView() { protected void initView() {
ButterKnife.bind(this); ButterKnife.bind(this);
WorkUtils.addDecimalsListener(etNum); WorkUtils.addDecimalsListener(etNum);
WorkUtils.addNumListener(etRemark, tvRemarkNum); WorkUtils.addNumListener(etRemark, tvRemarkNum);
rvPhoto.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
} }
@Override @Override
protected void initData() { protected void initData() {
orderType = getIntent().getStringExtra("orderType"); orderType = getIntent().getStringExtra("orderType");
//外采购订单入库,添加照片(必传)。供应订单入库取消箱号
if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) {
llBoxNum.setVisibility(View.GONE);
}
if ( TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) {
llBoxNum.setVisibility(View.GONE);
llPhoto.setVisibility(View.VISIBLE);
}else {
llPhoto.setVisibility(View.GONE);
}
// tvNum.setText(String.format("入库数量(%s)", getIntent().getStringExtra("num"))); // tvNum.setText(String.format("入库数量(%s)", getIntent().getStringExtra("num")));
param = new HashMap<>(); param = new HashMap<>();
param.put("productId", getIntent().getStringExtra("productId")); param.put("productId", getIntent().getStringExtra("productId"));
param.put("simpleCode", getIntent().getStringExtra("simpleCode")); param.put("simpleCode", getIntent().getStringExtra("simpleCode"));
etImgCode.setText(getIntent().getStringExtra("simpleCode")); etImgCode.setText(getIntent().getStringExtra("simpleCode"));
imgList = new ArrayList<>();
ImageBean imageBean = new ImageBean();
imageBean.setUri(null);
imgList.add(imageBean);
imgAddAdapter = new ImgAddAdapter(R.layout.item_mes_ticket_img, imgList);
imgAddAdapter.bindToRecyclerView(rvPhoto);
getNum(); getNum();
} }
...@@ -79,17 +127,17 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -79,17 +127,17 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
private void getNum() { private void getNum() {
Observable<BaseBean> observable; Observable<BaseBean> observable;
if (TextUtils.equals(orderType, OrderType.SALE.getCode())) { if (TextUtils.equals(orderType, OrderType.SALE.getCode())) {
observable = RtfUtils.getRtf().saleOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().saleOrderDetail(getIntent().getStringExtra("id"), "1");
} else if (TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) { } else if (TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) {
observable = RtfUtils.getRtf().purchaseOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().purchaseOrderDetail(getIntent().getStringExtra("id"), "1");
} else if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) { } else if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) {
observable = RtfUtils.getRtf().supplierOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().supplierOrderDetail(getIntent().getStringExtra("id"), "1");
} else if (TextUtils.equals(orderType, OrderType.CRUCIBLE.getCode())) { } else if (TextUtils.equals(orderType, OrderType.CRUCIBLE.getCode())) {
observable = RtfUtils.getRtf().crucibleOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().crucibleOrderDetail(getIntent().getStringExtra("id"), "1");
} else if (TextUtils.equals(orderType, OrderType.IN.getCode())) { } else if (TextUtils.equals(orderType, OrderType.IN.getCode())) {
observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"), "1");
} else { } else {
observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"),"1"); observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"), "1");
} }
observable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() { observable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
...@@ -113,8 +161,8 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -113,8 +161,8 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
dataBean = JSON.parseObject(data.getData().toString(), OrderDetail.class); dataBean = JSON.parseObject(data.getData().toString(), OrderDetail.class);
List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems(); List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems();
for (OrderDetail.OrderItemsBean orderItem : orderItems) { for (OrderDetail.OrderItemsBean orderItem : orderItems) {
if (TextUtils.equals(orderItem.getId(),getIntent().getStringExtra("orderItemId"))) { if (TextUtils.equals(orderItem.getId(), getIntent().getStringExtra("orderItemId"))) {
tvNum.setText(String.format("入库数量(最大入库数量%s)", MathUtils.converData(orderItem.getCanInStoreProductSum(),3))); tvNum.setText(String.format("入库数量(最大入库数量%s)", MathUtils.converData(orderItem.getCanInStoreProductSum(), 3)));
} }
} }
} }
...@@ -123,6 +171,48 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -123,6 +171,48 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
@Override @Override
protected void initEvent() { protected void initEvent() {
imgAddAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
imgList.remove(position);
imgAddAdapter.notifyDataSetChanged();
}
});
imgAddAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (position == imgList.size() - 1) {
addImg();
}
}
});
}
private void addImg() {
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions
.request(Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(granted -> {
if (granted) {
// All requested permissions are granted
Matisse.from(AddStockApplyAddActivity.this)
.choose(MimeType.ofImage())
.countable(true)
.maxSelectable(1).capture(true).
captureStrategy(new CaptureStrategy(true, "com.wd.workoffice.fileprovider"))
// .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
// .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.thumbnailScale(0.85f)
.imageEngine(new Glide4Engine())
.forResult(10002);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
} }
...@@ -146,12 +236,12 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -146,12 +236,12 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
toast("请输入入库数量"); toast("请输入入库数量");
return; return;
} }
if (dataBean!=null) { if (dataBean != null) {
List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems(); List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems();
for (OrderDetail.OrderItemsBean orderItem : orderItems) { for (OrderDetail.OrderItemsBean orderItem : orderItems) {
if (TextUtils.equals(orderItem.getId(), getIntent().getStringExtra("orderItemId"))) { if (TextUtils.equals(orderItem.getId(), getIntent().getStringExtra("orderItemId"))) {
if (new BigDecimal( Double.valueOf(num)).compareTo(new BigDecimal(orderItem.getCanInStoreProductSum())) ==1){ if (new BigDecimal(Double.valueOf(num)).compareTo(new BigDecimal(orderItem.getCanInStoreProductSum())) == 1) {
toast(String.format("可申请入库数量最大为%s",MathUtils.converData(orderItem.getCanInStoreProductSum(), 3))); toast(String.format("可申请入库数量最大为%s", MathUtils.converData(orderItem.getCanInStoreProductSum(), 3)));
return; return;
} }
} }
...@@ -166,6 +256,16 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -166,6 +256,16 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
if (TextUtils.equals(orderType, OrderType.SALE.getCode())) { if (TextUtils.equals(orderType, OrderType.SALE.getCode())) {
observable = RtfUtils.getRtf().addStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param)); observable = RtfUtils.getRtf().addStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param));
} else if (TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) { } else if (TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) {
//外采购需要上传图片
if (imgList.size() == 1) {
toast("请选择上传图片");
return;
}
StringBuilder image = new StringBuilder();
for (int i = 0; i < imgList.size() - 1; i++) {
image.append(imgList.get(i).getPath()).append(",");
}
param.put("image", image.substring(0, image.length()));
observable = RtfUtils.getRtf().addPoStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param)); observable = RtfUtils.getRtf().addPoStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param));
} else if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) { } else if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) {
observable = RtfUtils.getRtf().addFoStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param)); observable = RtfUtils.getRtf().addFoStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param));
...@@ -202,4 +302,34 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity { ...@@ -202,4 +302,34 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
}); });
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10002 && resultCode == RESULT_OK) {
if (Matisse.obtainResult(data).size() != 0) {
showLoading();
File file = WorkUtils.uriToFile(Matisse.obtainResult(data).get(0), this);
HwObsUtil.getInstance().uploadObject(file, this, new HwUploadListener() {
@Override
public void uploadSuccess(String value) {
hideLoading();
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(value);
imageBean.setName(file.getName());
imgList.add(imgList.size() - 1, imageBean);
imgAddAdapter.notifyDataSetChanged();
imageBean.setUri(Matisse.obtainResult(data).get(0));
}
@Override
public void uploadFail(String value) {
hideLoading();
toast("图片上传失败");
}
});
}
}
}
} }
...@@ -91,6 +91,7 @@ ...@@ -91,6 +91,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/ll_box_num"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingHorizontal="20mm" android:paddingHorizontal="20mm"
...@@ -154,6 +155,25 @@ ...@@ -154,6 +155,25 @@
android:text="0/140" android:text="0/140"
android:textColor="@color/flexible_text_gray" /> android:textColor="@color/flexible_text_gray" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/ll_photo"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
android:paddingVertical="13mm"
android:text="上传照片"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论