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

1.用户反馈连铸机 其他中包新增

2.//TODO erp用户是否选择新部门为空,质检接口数据无对应问题,内部交易订单审核,审核规则,领用申请列表/退件列表/参数,坩埚下单,mes,刷新token,编辑任务担当无法修改
上级 28296e5d
......@@ -196,12 +196,19 @@ public interface MesApiService {
@POST("/himes/api/msContinuousProducts/save.json")
Observable<BaseMesBean> threeAdd(@Query("functionId") String functionId,@Query("option") String option, @Body RequestBody requestBody);
/**
/**
* otherSupplierAdd
*
* @return
*/
@POST("/himes/api/msSupplierSupply/save.json")
Observable<BaseMesBean> otherSupplierAdd(@Query("functionId") String functionId,@Query("option") String option, @Body RequestBody requestBody);
/**
* otherSupplierAdd
*
* @return
*/
@POST("/himes/api/msLadleRefractoryRecord/save.json")
Observable<BaseMesBean> packageAdd(@Query("functionId") String functionId,@Query("option") String option, @Body RequestBody requestBody);
}
......@@ -285,10 +285,10 @@ public class MesChooseMachineDetailActivity extends WorkToolBarActivity {
startActivity(MesOtherSupplierAddActivity.class, "continuousCasterCode", data.getContinuousCasterCode());
break;
case R.id.tv_add4:
startActivity(MesPackageAddActivity.class);
startActivity(MesPackageAddActivity.class, "continuousCasterCode", data.getContinuousCasterCode());
break;
case R.id.rl_add:
startActivity(MesMiddleAddActivity.class);
startActivity(MesMiddleAddActivity.class, "data", JSON.toJSONString(data));
break;
case R.id.rl_middle:
if (llMiddle.getVisibility() == View.VISIBLE) {
......
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.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.FileUtils;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* author : flexible
......@@ -18,7 +56,31 @@ import butterknife.ButterKnife;
* github: https://github.com/FlexibleXd
**/
public class MesPackageAddActivity 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<>();
@Override
protected void initView() {
......@@ -27,8 +89,54 @@ public class MesPackageAddActivity extends WorkToolBarActivity {
@Override
protected void initData() {
param = WorkUtils.simpleParam();
param.put("continuousCasterCode", getIntent().getStringExtra("continuousCasterCode"));
}
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", "1", 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
protected void initEvent() {
......@@ -50,26 +158,147 @@ public class MesPackageAddActivity extends WorkToolBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.finish:
finish();
submit();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
@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(MesPackageAddActivity.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
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
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());
}
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;
}
}
}
@Subscribe
public void refresh(AddFactoryEvent event) {
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;
}
}
});
}
}
<?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">
......@@ -9,7 +10,7 @@
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_factory"
android:id="@+id/rl_pro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
......@@ -31,7 +32,7 @@
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_factory"
android:id="@+id/tv_pro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
......@@ -64,13 +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,6 +92,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/et_materials"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -117,6 +119,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/et_requirements"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -143,6 +146,7 @@
android:textSize="14sp" />
<EditText
android:id="@+id/et_years"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......@@ -158,7 +162,6 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:paddingVertical="15mm"
android:paddingLeft="18mm"
android:text="使用问题反馈(侵蚀、冲刷、断裂等)"
......@@ -178,15 +181,34 @@
android:padding="5mm"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm" />
android:paddingHorizontal="20mm">
<ImageView
android:id="@+id/iv_img1"
android:layout_width="100mm"
android:layout_height="100mm"
android:src="@mipmap/img_add" />
<ImageView
android:id="@+id/iv_img2"
android:layout_width="100mm"
android:layout_height="100mm"
android:layout_marginHorizontal="15mm"
android:src="@mipmap/img_add" />
<ImageView
android:id="@+id/iv_img3"
android:layout_width="100mm"
android:layout_height="100mm"
android:src="@mipmap/img_add" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:paddingVertical="15mm"
android:paddingLeft="18mm"
android:text="备注"
......@@ -194,6 +216,7 @@
<EditText
android:id="@+id/et_remark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20mm"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论