提交 0c056c58 authored 作者: lgd's avatar lgd

1.单项编辑

2.//TODO erp用户是否选择新部门为空,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes,刷新token,编辑任务担当无法修改,用户反馈 新增没通
上级 b606d0f5
...@@ -206,8 +206,6 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity { ...@@ -206,8 +206,6 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity {
tvProtection4.setText(mouldFlu.getSupplierName()); tvProtection4.setText(mouldFlu.getSupplierName());
} }
changeList(); changeList();
} }
}); });
} }
...@@ -248,7 +246,7 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity { ...@@ -248,7 +246,7 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity {
data1Adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { data1Adapter.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(MesThreeModifyActivity.class); startActivity(MesThreeModifyActivity.class,"data",JSON.toJSONString(machineDetailBean.getProductList().get(position)));
} }
}); });
data2Adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { data2Adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
...@@ -261,13 +259,14 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity { ...@@ -261,13 +259,14 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity {
data3Adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { data3Adapter.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(MesOtherSupplierModifyActivity.class); startActivity(MesOtherSupplierModifyActivity.class,"data",JSON.toJSONString(machineDetailBean.getOtherSupList().get(position)));
} }
}); });
data4Adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { data4Adapter.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(MesPackageModifyActivity.class); startActivity(MesPackageModifyActivity.class,"data",JSON.toJSONString(machineDetailBean.getOtherLadleList().get(position)));
} }
}); });
} }
......
...@@ -73,7 +73,6 @@ public class MesOtherSupplierAddActivity extends WorkToolBarActivity { ...@@ -73,7 +73,6 @@ public class MesOtherSupplierAddActivity extends WorkToolBarActivity {
@BindView(R.id.et_remark) @BindView(R.id.et_remark)
EditText etRemark; EditText etRemark;
private Map<String, Object> param; private Map<String, Object> param;
private MesProBean.ListBean choosePro;
private Map<Integer, Object> annexMap = new HashMap<>(); private Map<Integer, Object> annexMap = new HashMap<>();
@Override @Override
......
package com.wd.workoffice.ui.activity.mes.user; package com.wd.workoffice.ui.activity.mes.user;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import com.alibaba.fastjson.JSON;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddFactoryEvent; import com.wd.workoffice.bean.event.RefreshMachineEvent;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MachineDetailBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketProActivity;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.GlideUtils;
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 org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/** /**
* author : flexible * author : flexible
...@@ -18,7 +56,27 @@ import butterknife.ButterKnife; ...@@ -18,7 +56,27 @@ import butterknife.ButterKnife;
* github: https://github.com/FlexibleXd * github: https://github.com/FlexibleXd
**/ **/
public class MesOtherSupplierModifyActivity extends WorkToolBarActivity { public class MesOtherSupplierModifyActivity extends WorkToolBarActivity {
@BindView(R.id.et_name)
EditText etName;
@BindView(R.id.et_years)
EditText etYears;
@BindView(R.id.et_supply_num)
EditText etSupplyNum;
@BindView(R.id.et_stock_num)
EditText etStockNum;
@BindView(R.id.et_content)
EditText etContent;
@BindView(R.id.iv_img1)
ImageView ivImg1;
@BindView(R.id.iv_img2)
ImageView ivImg2;
@BindView(R.id.iv_img3)
ImageView ivImg3;
@BindView(R.id.et_remark)
EditText etRemark;
private Map<String, Object> param;
private Map<Integer, Object> annexMap = new HashMap<>();
private MachineDetailBean.OtherSupListBean dataBean;
@Override @Override
protected void initView() { protected void initView() {
...@@ -27,8 +85,97 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity { ...@@ -27,8 +85,97 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity {
@Override @Override
protected void initData() { protected void initData() {
dataBean = JSON.parseObject(getIntent().getStringExtra("data"), MachineDetailBean.OtherSupListBean.class);
param = WorkUtils.simpleParam();
param.put("continuousCasterCode", dataBean.getContinuousCasterCode());
param.put("id", dataBean.getId());
etName.setText(dataBean.getSupplierName());
etSupplyNum.setText(dataBean.getSupplyNumber());
etStockNum.setText(dataBean.getStockNumber());
etYears.setText(dataBean.getUseLife());
etContent.setText(dataBean.getOtherSituationDescription());
etRemark.setText(dataBean.getRemark());
getData();
}
private void getData() {
RtfUtils.getMesRtf().supplierDetail(dataBean.getId(), "1").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.getMsg());
return;
}
dataBean = JSON.parseObject(data.getData().toString(), MachineDetailBean.OtherSupListBean.class);
if (dataBean.getAttachments() != null) {
for (int i = 0; i < dataBean.getAttachments().size(); i++) {
annexMap.put(i + 1, dataBean.getAttachments().get(i));
switch (i + 1) {
case 1:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg1);
break;
case 2:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg2);
break;
case 3:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg3);
break;
}
}
}
}
});
}
private void submit() {
String name = etName.getText().toString();
String years = etYears.getText().toString();
String supply = etSupplyNum.getText().toString();
String stock = etStockNum.getText().toString();
String content = etContent.getText().toString();
String remark = etRemark.getText().toString();
param.put("supplierName", name);
param.put("supplyNumber", supply);
param.put("stockNumber", stock);
param.put("useLife", years);
param.put("otherSituationDescription", content);
param.put("remark", remark);
param.put("attachments", getUploadImg());
RtfUtils.getMesRtf().otherSupplierAdd("1", "2", 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.getMsg());
return;
}
finish();
toast("添加成功");
EventBus.getDefault().post(new RefreshMachineEvent());
}
});
}
@Override @Override
protected void initEvent() { protected void initEvent() {
...@@ -50,26 +197,138 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity { ...@@ -50,26 +197,138 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.finish: case R.id.finish:
finish(); submit();
break; break;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
@OnClick({R.id.iv_img1, R.id.iv_img2, R.id.iv_img3})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.iv_img1:
addImg(1);
break;
case R.id.iv_img2:
addImg(2);
break;
case R.id.iv_img3:
addImg(3);
break;
}
}
private List<Object> getUploadImg() {
List<Object> imgList = new ArrayList<>();
for (Map.Entry<Integer, Object> integerStringEntry : annexMap.entrySet()) {
imgList.add(integerStringEntry.getValue());
}
return imgList;
}
private void addImg(int position) {
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(MesOtherSupplierModifyActivity.this)
.choose(MimeType.ofAll())
.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(10001 + position);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 10002:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(1, uri);
}
break;
case 10003:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(2, uri);
}
break;
case 10004:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(3, uri);
}
break;
}
}
}
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
public void onStart() { public void doOnSubscribe(Disposable d) {
super.onStart();
EventBus.getDefault().register(this);
} }
@Override @Override
public void onStop() { public void onFail(String errorMsg) {
super.onStop(); hideLoading();
EventBus.getDefault().unregister(this); toast(errorMsg);
} }
@Subscribe @Override
public void refresh(AddFactoryEvent event) { public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMsg());
return;
}
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
GlideUtils.getRequest().load(uri).into(ivImg1);
annexMap.put(1, imageBean);
break;
case 2:
GlideUtils.getRequest().load(uri).into(ivImg2);
annexMap.put(2, imageBean);
break;
case 3:
GlideUtils.getRequest().load(uri).into(ivImg3);
annexMap.put(3, imageBean);
break;
}
}
});
} }
} }
...@@ -103,6 +103,7 @@ public class MesPackageDetailActivity extends WorkToolBarActivity { ...@@ -103,6 +103,7 @@ public class MesPackageDetailActivity extends WorkToolBarActivity {
tvPro.setText(dataBean.getRefractoryName()); tvPro.setText(dataBean.getRefractoryName());
etImgCode.setText(dataBean.getFigureNumber()); etImgCode.setText(dataBean.getFigureNumber());
tvRequirements.setText(dataBean.getUseRequirement()); tvRequirements.setText(dataBean.getUseRequirement());
tvMaterials.setText(dataBean.getMaterialsUsed());
tvYears.setText(dataBean.getUseLife()); tvYears.setText(dataBean.getUseLife());
tvContent.setText(dataBean.getUseProblemFeedback()); tvContent.setText(dataBean.getUseProblemFeedback());
tvRemark.setText(dataBean.getRemark()); tvRemark.setText(dataBean.getRemark());
......
package com.wd.workoffice.ui.activity.mes.user; package com.wd.workoffice.ui.activity.mes.user;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddFactoryEvent; import com.wd.workoffice.bean.event.RefreshMachineEvent;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MachineDetailBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketProActivity;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.GlideUtils;
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 org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/** /**
* author : flexible * author : flexible
...@@ -18,7 +58,32 @@ import butterknife.ButterKnife; ...@@ -18,7 +58,32 @@ import butterknife.ButterKnife;
* github: https://github.com/FlexibleXd * github: https://github.com/FlexibleXd
**/ **/
public class MesPackageModifyActivity extends WorkToolBarActivity { public class MesPackageModifyActivity extends WorkToolBarActivity {
@BindView(R.id.tv_pro)
TextView tvPro;
@BindView(R.id.rl_pro)
RelativeLayout rlPro;
@BindView(R.id.et_img_code)
TextView etImgCode;
@BindView(R.id.et_materials)
EditText etMaterials;
@BindView(R.id.et_requirements)
EditText etRequirements;
@BindView(R.id.et_years)
EditText etYears;
@BindView(R.id.et_content)
EditText etContent;
@BindView(R.id.iv_img1)
ImageView ivImg1;
@BindView(R.id.iv_img2)
ImageView ivImg2;
@BindView(R.id.iv_img3)
ImageView ivImg3;
@BindView(R.id.et_remark)
EditText etRemark;
private Map<String, Object> param;
private MesProBean.ListBean choosePro;
private Map<Integer, Object> annexMap = new HashMap<>();
private MachineDetailBean.OtherLadleListBean dataBean;
@Override @Override
protected void initView() { protected void initView() {
...@@ -27,8 +92,110 @@ public class MesPackageModifyActivity extends WorkToolBarActivity { ...@@ -27,8 +92,110 @@ public class MesPackageModifyActivity extends WorkToolBarActivity {
@Override @Override
protected void initData() { protected void initData() {
dataBean = JSON.parseObject(getIntent().getStringExtra("data"), MachineDetailBean.OtherLadleListBean.class);
param = WorkUtils.simpleParam();
param.put("continuousCasterCode", dataBean.getContinuousCasterCode());
param.put("id", dataBean.getId());
if (!TextUtils.isEmpty(dataBean.getFigureNumber())) {
choosePro = new MesProBean.ListBean();
choosePro.setDrawingNumber(dataBean.getFigureNumber());
choosePro.setProductName(dataBean.getRefractoryName());
tvPro.setText(dataBean.getRefractoryName());
etImgCode.setText(dataBean.getFigureNumber());
}
etMaterials.setText(dataBean.getMaterialsUsed());
etRequirements.setText(dataBean.getUseRequirement());
etYears.setText(dataBean.getUseLife());
etContent.setText(dataBean.getUseProblemFeedback());
etRemark.setText(dataBean.getRemark());
getData();
}
private void getData() {
RtfUtils.getMesRtf().packageDetail(dataBean.getId(), "1").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.getMsg());
return;
}
dataBean = JSON.parseObject(data.getData().toString(), MachineDetailBean.OtherLadleListBean.class);
if (dataBean.getAttachments() != null) {
for (int i = 0; i < dataBean.getAttachments().size(); i++) {
annexMap.put(i + 1, dataBean.getAttachments().get(i));
switch (i + 1) {
case 1:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg1);
break;
case 2:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg2);
break;
case 3:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg3);
break;
}
}
}
}
});
}
private void submit() {
String imgCode = etImgCode.getText().toString();
String content = etContent.getText().toString();
String material = etMaterials.getText().toString();
String requirements = etRequirements.getText().toString();
String years = etYears.getText().toString();
String remark = etRemark.getText().toString();
if (choosePro == null) {
toast("请选择产品");
return;
}
param.put("refractoryName", choosePro.getProductName());
param.put("figureNumber", imgCode);
param.put("materialsUsed", material);
param.put("useRequirement", requirements);
param.put("useLife", years);
param.put("useProblemFeedback", content);
param.put("remark", remark);
param.put("attachments", getUploadImg());
RtfUtils.getMesRtf().packageAdd("1", "2", 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.getMsg());
return;
}
finish();
toast("添加成功");
EventBus.getDefault().post(new RefreshMachineEvent());
}
});
}
@Override @Override
protected void initEvent() { protected void initEvent() {
...@@ -50,26 +217,147 @@ public class MesPackageModifyActivity extends WorkToolBarActivity { ...@@ -50,26 +217,147 @@ public class MesPackageModifyActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.finish: case R.id.finish:
finish(); submit();
break; break;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
@OnClick({R.id.iv_img1, R.id.iv_img2, R.id.iv_img3, R.id.rl_pro})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.iv_img1:
addImg(1);
break;
case R.id.iv_img2:
addImg(2);
break;
case R.id.iv_img3:
addImg(3);
break;
case R.id.rl_pro:
startActivityForResult(MesTicketProActivity.class, 10001);
break;
}
}
private List<Object> getUploadImg() {
List<Object> imgList = new ArrayList<>();
for (Map.Entry<Integer, Object> integerStringEntry : annexMap.entrySet()) {
imgList.add(integerStringEntry.getValue());
}
return imgList;
}
private void addImg(int position) {
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(MesPackageModifyActivity.this)
.choose(MimeType.ofAll())
.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(10001 + position);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
}
@Override @Override
public void onStart() { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onStart(); super.onActivityResult(requestCode, resultCode, data);
EventBus.getDefault().register(this); if (requestCode == 10001 && resultCode == 10001) {
choosePro = JSON.parseObject(data.getStringExtra("data"), MesProBean.ListBean.class);
tvPro.setText(choosePro.getProductName());
etImgCode.setText(choosePro.getDrawingNumber());
}
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 10002:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(1, uri);
}
break;
case 10003:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(2, uri);
}
break;
case 10004:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(3, uri);
}
break;
}
} }
}
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
public void onStop() { public void doOnSubscribe(Disposable d) {
super.onStop();
EventBus.getDefault().unregister(this);
} }
@Subscribe @Override
public void refresh(AddFactoryEvent event) { public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMsg());
return;
}
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
GlideUtils.getRequest().load(uri).into(ivImg1);
annexMap.put(1, imageBean);
break;
case 2:
GlideUtils.getRequest().load(uri).into(ivImg2);
annexMap.put(2, imageBean);
break;
case 3:
GlideUtils.getRequest().load(uri).into(ivImg3);
annexMap.put(3, imageBean);
break;
}
}
});
} }
} }
package com.wd.workoffice.ui.activity.mes.user; package com.wd.workoffice.ui.activity.mes.user;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity; import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddFactoryEvent; import com.wd.workoffice.bean.event.RefreshMachineEvent;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.bean.mesBean.MachineDetailBean;
import com.wd.workoffice.bean.mesBean.MesProBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.mes.ticket.MesTicketProActivity;
import com.wd.workoffice.util.Glide4Engine;
import com.wd.workoffice.util.GlideUtils;
import com.wd.workoffice.util.PickTimeUtils;
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 org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/** /**
* author : flexible * author : flexible
...@@ -22,13 +61,46 @@ import butterknife.ButterKnife; ...@@ -22,13 +61,46 @@ import butterknife.ButterKnife;
* github: https://github.com/FlexibleXd * github: https://github.com/FlexibleXd
**/ **/
public class MesThreeModifyActivity extends WorkToolBarActivity { public class MesThreeModifyActivity extends WorkToolBarActivity {
@BindView(R.id.tv_pro)
@BindView(R.id.tv_factory) TextView tvPro;
TextView tvFactory; @BindView(R.id.rl_pro)
@BindView(R.id.rl_factory) RelativeLayout rlPro;
RelativeLayout rlFactory; @BindView(R.id.et_img_code)
TextView etImgCode;
@BindView(R.id.et_type)
TextView etType;
@BindView(R.id.et_spec)
TextView etSpec;
@BindView(R.id.et_material)
EditText etMaterial;
@BindView(R.id.et_requirements)
EditText etRequirements;
@BindView(R.id.et_years)
EditText etYears;
@BindView(R.id.et_position)
EditText etPosition;
@BindView(R.id.et_baking_method)
EditText etBakingMethod;
@BindView(R.id.et_baking_temperature)
EditText etBakingTemperature;
@BindView(R.id.tv_baking_time)
EditText tvBakingTime;
@BindView(R.id.rl_time)
RelativeLayout rlTime;
@BindView(R.id.et_content) @BindView(R.id.et_content)
EditText etContent; EditText etContent;
@BindView(R.id.iv_img1)
ImageView ivImg1;
@BindView(R.id.iv_img2)
ImageView ivImg2;
@BindView(R.id.iv_img3)
ImageView ivImg3;
@BindView(R.id.et_remark)
EditText etRemark;
private Map<String, Object> param;
private MesProBean.ListBean choosePro;
private Map<Integer, Object> annexMap = new HashMap<>();
private MachineDetailBean.ProductListBean dataBean;
@Override @Override
protected void initView() { protected void initView() {
...@@ -37,8 +109,131 @@ public class MesThreeModifyActivity extends WorkToolBarActivity { ...@@ -37,8 +109,131 @@ public class MesThreeModifyActivity extends WorkToolBarActivity {
@Override @Override
protected void initData() { protected void initData() {
dataBean = JSON.parseObject(getIntent().getStringExtra("data"), MachineDetailBean.ProductListBean.class);
param = WorkUtils.simpleParam();
param.put("continuousCasterCode", dataBean.getContinuousCasterCode());
param.put("id", dataBean.getId());
if (!TextUtils.isEmpty(dataBean.getProductsCode())) {
choosePro = new MesProBean.ListBean();
choosePro.setProductCode(dataBean.getProductsCode());
choosePro.setDrawingNumber(dataBean.getFigureNumber());
choosePro.setProductName(dataBean.getProductsName());
choosePro.setSpecification(dataBean.getProductsStandards());
choosePro.setProductType(dataBean.getProductsType());
tvPro.setText(choosePro.getProductName());
etImgCode.setText(choosePro.getDrawingNumber());
etSpec.setText(choosePro.getSpecification());
etType.setText(choosePro.getProductType());
}
etMaterial.setText(dataBean.getMaterialsUsed());
etRequirements.setText(dataBean.getUseRequirement());
etPosition.setText(dataBean.getSlagLineLocation());
etYears.setText(dataBean.getUseLife());
etBakingTemperature.setText(dataBean.getBakingTemperature());
etBakingMethod.setText(dataBean.getBakingMethod());
tvBakingTime.setText(dataBean.getBakingDateTime() + "");
etContent.setText(dataBean.getUseProblemFeedback());
etRemark.setText(dataBean.getRemark());
getData();
}
private void getData() {
RtfUtils.getMesRtf().threeDetail(dataBean.getId(), "1").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.getMsg());
return;
}
dataBean = JSON.parseObject(data.getData().toString(), MachineDetailBean.ProductListBean.class);
if (dataBean.getAttachments() != null) {
for (int i = 0; i < dataBean.getAttachments().size(); i++) {
annexMap.put(i + 1, dataBean.getAttachments().get(i));
switch (i + 1) {
case 1:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg1);
break;
case 2:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg2);
break;
case 3:
GlideUtils.getRequest().load(dataBean.getAttachments().get(i).getUrl()).into(ivImg3);
break;
}
}
}
}
});
}
private void submit() {
String bakingMethods = etBakingMethod.getText().toString();
String bakingTemperature = etBakingTemperature.getText().toString();
String bakingTime = tvBakingTime.getText().toString();
String content = etContent.getText().toString();
String imgCode = etImgCode.getText().toString();
String material = etMaterial.getText().toString();
String position = etPosition.getText().toString();
String requirements = etRequirements.getText().toString();
String spec = etSpec.getText().toString();
String type = etType.getText().toString();
String years = etYears.getText().toString();
String remark = etRemark.getText().toString();
if (choosePro == null) {
toast("请选择产品");
return;
}
param.put("productsCode", choosePro.getProductCode());
param.put("productsName", choosePro.getProductName());
param.put("figureNumber", imgCode);
param.put("productsType", type);
param.put("productsStandards", spec);
param.put("materialsUsed", material);
param.put("useRequirement", requirements);
param.put("useLife", years);
param.put("slagLineLocation", position);
param.put("bakingMethod", bakingMethods);
param.put("bakingTemperature", bakingTemperature);
param.put("bakingDateTime", bakingTime);
param.put("useProblemFeedback", content);
param.put("remark", remark);
param.put("attachments", getUploadImg());
RtfUtils.getMesRtf().threeAdd("1", "2", 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.getMsg());
return;
}
finish();
toast("添加成功");
EventBus.getDefault().post(new RefreshMachineEvent());
}
});
}
@Override @Override
protected void initEvent() { protected void initEvent() {
...@@ -60,26 +255,151 @@ public class MesThreeModifyActivity extends WorkToolBarActivity { ...@@ -60,26 +255,151 @@ public class MesThreeModifyActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.finish: case R.id.finish:
finish(); submit();
break; break;
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
@OnClick({R.id.iv_img1, R.id.iv_img2, R.id.iv_img3, R.id.rl_time, R.id.rl_pro})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.iv_img1:
addImg(1);
break;
case R.id.iv_img2:
addImg(2);
break;
case R.id.iv_img3:
addImg(3);
break;
case R.id.rl_time:
break;
case R.id.rl_pro:
startActivityForResult(MesTicketProActivity.class, 10001);
break;
}
}
private List<Object> getUploadImg() {
List<Object> imgList = new ArrayList<>();
for (Map.Entry<Integer, Object> integerStringEntry : annexMap.entrySet()) {
imgList.add(integerStringEntry.getValue());
}
return imgList;
}
private void addImg(int position) {
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(MesThreeModifyActivity.this)
.choose(MimeType.ofAll())
.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(10001 + position);
} else {
// At least one permission is denied
toast("您需要开启拍照、存储权限!");
}
});
}
@Override @Override
public void onStart() { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onStart(); super.onActivityResult(requestCode, resultCode, data);
EventBus.getDefault().register(this); if (requestCode == 10001 && resultCode == 10001) {
choosePro = JSON.parseObject(data.getStringExtra("data"), MesProBean.ListBean.class);
tvPro.setText(choosePro.getProductName());
etImgCode.setText(choosePro.getDrawingNumber());
etSpec.setText(choosePro.getSpecification());
etType.setText(choosePro.getProductType());
}
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 10002:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(1, uri);
}
break;
case 10003:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(2, uri);
}
break;
case 10004:
if (Matisse.obtainResult(data).size() != 0) {
Uri uri = Matisse.obtainResult(data).get(0);
upload(3, uri);
}
break;
}
} }
}
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override @Override
public void onStop() { public void doOnSubscribe(Disposable d) {
super.onStop();
EventBus.getDefault().unregister(this);
} }
@Subscribe @Override
public void refresh(AddFactoryEvent event) { public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMsg());
return;
}
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
GlideUtils.getRequest().load(uri).into(ivImg1);
annexMap.put(1, imageBean);
break;
case 2:
GlideUtils.getRequest().load(uri).into(ivImg2);
annexMap.put(2, imageBean);
break;
case 3:
GlideUtils.getRequest().load(uri).into(ivImg3);
annexMap.put(3, imageBean);
break;
}
}
});
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论