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

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

上级 029cdc69
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.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
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.app.BaseBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.OrderDetail;
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.retrofit.RtfUtils;
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.WorkUtils;
import com.zhihu.matisse.Matisse;
import com.zhihu.matisse.MimeType;
import com.zhihu.matisse.internal.entity.CaptureStrategy;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
......@@ -51,25 +72,52 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
TextView tvRemarkNum;
@BindView(R.id.et_box_num)
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 String orderType;
private OrderDetail dataBean;
private List<ImageBean> imgList;
private ImgAddAdapter imgAddAdapter;
@Override
protected void initView() {
ButterKnife.bind(this);
WorkUtils.addDecimalsListener(etNum);
WorkUtils.addNumListener(etRemark, tvRemarkNum);
rvPhoto.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
}
@Override
protected void initData() {
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")));
param = new HashMap<>();
param.put("productId", getIntent().getStringExtra("productId"));
param.put("simpleCode", 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();
}
......@@ -79,17 +127,17 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
private void getNum() {
Observable<BaseBean> observable;
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())) {
observable = RtfUtils.getRtf().purchaseOrderDetail(getIntent().getStringExtra("id"),"1");
observable = RtfUtils.getRtf().purchaseOrderDetail(getIntent().getStringExtra("id"), "1");
} 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())) {
observable = RtfUtils.getRtf().crucibleOrderDetail(getIntent().getStringExtra("id"),"1");
observable = RtfUtils.getRtf().crucibleOrderDetail(getIntent().getStringExtra("id"), "1");
} 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 {
observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"),"1");
observable = RtfUtils.getRtf().insideOrderDetail(getIntent().getStringExtra("id"), "1");
}
observable.compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
......@@ -113,9 +161,9 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
dataBean = JSON.parseObject(data.getData().toString(), OrderDetail.class);
List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems();
for (OrderDetail.OrderItemsBean orderItem : orderItems) {
if (TextUtils.equals(orderItem.getId(),getIntent().getStringExtra("orderItemId"))) {
tvNum.setText(String.format("入库数量(最大入库数量%s)", MathUtils.converData(orderItem.getCanInStoreProductSum(),3)));
}
if (TextUtils.equals(orderItem.getId(), getIntent().getStringExtra("orderItemId"))) {
tvNum.setText(String.format("入库数量(最大入库数量%s)", MathUtils.converData(orderItem.getCanInStoreProductSum(), 3)));
}
}
}
});
......@@ -123,6 +171,48 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
@Override
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 {
toast("请输入入库数量");
return;
}
if (dataBean!=null) {
if (dataBean != null) {
List<OrderDetail.OrderItemsBean> orderItems = dataBean.getOrderItems();
for (OrderDetail.OrderItemsBean orderItem : orderItems) {
if (TextUtils.equals(orderItem.getId(), getIntent().getStringExtra("orderItemId"))) {
if (new BigDecimal( Double.valueOf(num)).compareTo(new BigDecimal(orderItem.getCanInStoreProductSum())) ==1){
toast(String.format("可申请入库数量最大为%s",MathUtils.converData(orderItem.getCanInStoreProductSum(), 3)));
if (new BigDecimal(Double.valueOf(num)).compareTo(new BigDecimal(orderItem.getCanInStoreProductSum())) == 1) {
toast(String.format("可申请入库数量最大为%s", MathUtils.converData(orderItem.getCanInStoreProductSum(), 3)));
return;
}
}
......@@ -166,6 +256,16 @@ public class AddStockApplyAddActivity extends WorkToolBarActivity {
if (TextUtils.equals(orderType, OrderType.SALE.getCode())) {
observable = RtfUtils.getRtf().addStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param));
} 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));
} else if (TextUtils.equals(orderType, OrderType.SUPPLIER.getCode())) {
observable = RtfUtils.getRtf().addFoStockApplyAdd(getIntent().getStringExtra("id"), WorkUtils.convertMapToBody(param));
......@@ -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 @@
</LinearLayout>
<LinearLayout
android:id="@+id/ll_box_num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm"
......@@ -154,6 +155,25 @@
android:text="0/140"
android:textColor="@color/flexible_text_gray" />
</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>
</androidx.core.widget.NestedScrollView>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论