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

1.用户反馈连铸机 三大件新增

2.//TODO erp用户是否选择新部门为空,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes,刷新token,编辑任务担当无法修改
上级 f90dc65c
......@@ -29,7 +29,7 @@ import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* 选择客户
* 选择产品
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
......@@ -133,7 +133,7 @@ public class MesTicketProActivity extends WorkToolBarActivity {
@OnClick(R.id.btn_search)
public void onViewClicked() {
param.put("name", etKey.getText().toString());
param.put("productName", etKey.getText().toString());
param.put("pageNum", 1);
page = 1;
getData();
......
......@@ -11,6 +11,8 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.event.AddTicketEvent;
import com.wd.workoffice.bean.event.RefreshMachineEvent;
import com.wd.workoffice.bean.mesBean.MchineDetailBean;
import com.wd.workoffice.bean.mesBean.UserDataBean;
import com.wd.workoffice.retrofit.RtfUtils;
......@@ -18,6 +20,9 @@ import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.adapter.UserDataMachineAdapter;
import com.wd.workoffice.util.WorkUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -309,5 +314,20 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity {
}
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refresh(RefreshMachineEvent event) {
getData();
}
}
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.view.Menu;
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.app.BaseMesBean;
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.MchineDetailBean;
import com.wd.workoffice.bean.mesBean.ImageBean;
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.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.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.TimeUtils;
import flexible.xd.android_base.utils.FileUtils;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* author : flexible
......@@ -34,14 +56,45 @@ import io.reactivex.disposables.Disposable;
* github: https://github.com/FlexibleXd
**/
public class MesThreeAddActivity extends WorkToolBarActivity {
@BindView(R.id.tv_factory)
TextView tvFactory;
@BindView(R.id.rl_factory)
RelativeLayout rlFactory;
@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_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)
TextView tvBakingTime;
@BindView(R.id.rl_time)
RelativeLayout rlTime;
@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<>();
@Override
protected void initView() {
......@@ -55,7 +108,39 @@ public class MesThreeAddActivity extends WorkToolBarActivity {
}
private void submit() {
RtfUtils.getMesRtf().threeAdd("1", "1",WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
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", "1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
......@@ -100,10 +185,157 @@ public class MesThreeAddActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.finish:
finish();
submit();
break;
}
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(MesThreeAddActivity.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 (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
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;
}
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;
}
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
}
......@@ -669,7 +669,7 @@
android:id="@+id/tv_add1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="right"
android:text="添加 +"
android:textSize="16sp" />
</LinearLayout>
......@@ -680,6 +680,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:background="@android:color/white"
android:gravity="right"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
......@@ -694,7 +695,8 @@
android:id="@+id/rv_data2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" />
android:layout_alignParentRight="true"
android:layout_gravity="right" />
</RelativeLayout>
......@@ -702,6 +704,7 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:background="@android:color/white"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
......@@ -723,15 +726,16 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data3"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
t
android:layout_height="wrap_content"
android:layout_gravity="right" />
<TextView
android:id="@+id/tv_add3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加 +"
android:gravity="right"
android:text="添加 +"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
......@@ -739,6 +743,7 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:background="@android:color/white"
android:paddingHorizontal="20mm"
android:paddingVertical="9mm">
......@@ -765,8 +770,8 @@
<TextView
android:id="@+id/tv_add4"
android:layout_width="match_parent"
android:gravity="right"
android:layout_height="wrap_content"
android:gravity="right"
android:text="添加 +"
android:textSize="16sp" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
......@@ -64,14 +65,13 @@
android:textSize="14sp" />
<EditText
<TextView
android:id="@+id/et_img_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="3mm"
android:background="@null"
android:hint="请输入"
android:textSize="14sp" />
</RelativeLayout>
......@@ -91,14 +91,13 @@
android:text="产品类别"
android:textSize="14sp" />
<EditText
<TextView
android:id="@+id/et_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="3mm"
android:background="@null"
android:hint="请输入"
android:textSize="14sp" />
</RelativeLayout>
......@@ -118,14 +117,13 @@
android:text="产品规格"
android:textSize="14sp" />
<EditText
<TextView
android:id="@+id/et_spec"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="3mm"
android:background="@null"
android:hint="请输入"
android:textSize="14sp" />
</RelativeLayout>
......@@ -295,6 +293,7 @@
<View style="@style/dividerX" />
<RelativeLayout
android:id="@+id/rl_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
......@@ -308,8 +307,8 @@
android:text="烘烤时间"
android:textSize="14sp" />
<EditText
android:id="@+id/et_baking_time"
<TextView
android:id="@+id/tv_baking_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -338,8 +337,8 @@
android:layout_marginTop="3mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:minLines="3"
android:hint="请输入"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
......@@ -378,15 +377,16 @@
<EditText
android:id="@+id/et_remark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
android:layout_marginTop="3mm"
android:layout_marginBottom="100mm"
android:background="@drawable/shape_input_white"
android:gravity="top"
android:minLines="3"
android:hint="请输入"
android:layout_marginBottom="100mm"
android:minLines="3"
android:padding="5mm"
android:textSize="14sp" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="14mm"
android:background="@android:color/white"
android:gravity="right"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:paddingHorizontal="5mm"
android:text="zzz"
android:textColor="@color/blue_btn" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论