提交 2893e7d8 authored 作者: flexiblexd@163.com's avatar flexiblexd@163.com

1.mes

上级 e63d2f41
......@@ -6,8 +6,8 @@ android {
applicationId "com.wd.workoffice"
minSdkVersion 21
targetSdkVersion 28
versionCode 8
versionName "1.0.8"
versionCode 10
versionName "1.0.10"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [
JPUSH_PKGNAME: applicationId,
......@@ -109,4 +109,6 @@ dependencies {
implementation 'com.huawei.storage:esdk-obs-android:3.1.3'
implementation 'com.blankj:utilcodex:1.29.0'
// implementation 'com.github.Shouheng88:compressor:latest-version'
implementation 'id.zelory:compressor:2.1.1'
}
......@@ -3,8 +3,10 @@ package com.wd.workoffice.ui.activity.mes.quality;
import android.Manifest;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
......@@ -18,6 +20,7 @@ import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.UriUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
......@@ -46,6 +49,7 @@ import com.zhihu.matisse.internal.entity.CaptureStrategy;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -58,6 +62,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.FileUtils;
import id.zelory.compressor.Compressor;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
......@@ -257,6 +262,10 @@ public class MesQualityAddActivity extends WorkToolBarActivity {
imgAddAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (imgList.size() > 9) {
toast("最大上传9张");
return;
}
if (position == imgList.size() - 1) {
addImg();
}
......@@ -546,7 +555,7 @@ public class MesQualityAddActivity extends WorkToolBarActivity {
Matisse.from(MesQualityAddActivity.this)
.choose(MimeType.ofImage())
.countable(true)
.maxSelectable(3).capture(true).
.maxSelectable(9).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))
......@@ -568,11 +577,13 @@ public class MesQualityAddActivity extends WorkToolBarActivity {
showLoading();
File file;
if (uri instanceof Uri) {
file = WorkUtils.uriToFile((Uri) uri, this);
// file = WorkUtils.uriToFile((Uri) uri, this);
file = UriUtils.uri2File((Uri) uri);
} else {
file = new File(uri.toString());
}
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"),smallImg );
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -594,16 +605,19 @@ public class MesQualityAddActivity extends WorkToolBarActivity {
toast(data.getMessage());
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]);
imgList.add(imgList.size() - 1, imageBean);
imgAddAdapter.notifyDataSetChanged();
imageBean.setUri((Uri) uri);
if (imgList.size() < 10) {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
imgList.add(imgList.size() - 1, imageBean);
imgAddAdapter.notifyDataSetChanged();
imageBean.setUri((Uri) uri);
}
}
});
}
......
......@@ -16,6 +16,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.tbruyelle.rxpermissions2.RxPermissions;
......@@ -419,11 +420,13 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
showLoading();
File file;
if (uri instanceof Uri) {
file = WorkUtils.uriToFile((Uri) uri, this);
// file = WorkUtils.uriToFile((Uri) uri, this);
file = UriUtils.uri2File((Uri) uri);
} else {
file = new File(uri.toString());
}
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), smallImg);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -448,8 +451,8 @@ public class MesTicketAddSummaryActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
if (type == 1) {
......
......@@ -12,6 +12,7 @@ import android.widget.EditText;
import android.widget.ImageView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -237,8 +238,9 @@ public class MesOtherSupplierAddActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"),smallImg);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -263,8 +265,8 @@ public class MesOtherSupplierAddActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -12,6 +12,7 @@ import android.widget.EditText;
import android.widget.ImageView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -343,8 +344,9 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), smallImg);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -369,8 +371,8 @@ public class MesOtherSupplierModifyActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -14,6 +14,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -261,8 +262,9 @@ public class MesPackageAddActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), smallImg);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -287,8 +289,8 @@ public class MesPackageAddActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -14,6 +14,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -374,8 +375,9 @@ public class MesPackageModifyActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), smallImg );
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -400,8 +402,8 @@ public class MesPackageModifyActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -15,6 +15,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -294,8 +295,9 @@ public class MesThreeAddActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"),smallImg );
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -320,8 +322,8 @@ public class MesThreeAddActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -14,6 +14,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.UriUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
......@@ -412,8 +413,9 @@ public class MesThreeModifyActivity extends WorkToolBarActivity {
private void upload(int position, Uri uri) {
showLoading();
File file = WorkUtils.uriToFile(uri, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
File file = UriUtils.uri2File((Uri) uri);
File smallImg = WorkUtils.getSmallImg(file, this);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), smallImg);
RtfUtils.getMesRtf().
upload(MultipartBody.Part.createFormData("file", file.getName(), requestFile)).
compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
......@@ -438,8 +440,8 @@ public class MesThreeModifyActivity extends WorkToolBarActivity {
toast("上传成功");
ImageBean imageBean = new ImageBean();
imageBean.setPath(data.getData().toString());
imageBean.setName(file.getName());
imageBean.setSize(FileUtils.getFileLength(file));
imageBean.setName(smallImg.getName());
imageBean.setSize(FileUtils.getFileLength(smallImg));
imageBean.setType(data.getData().toString().split("\\.")[1]);
switch (position) {
case 1:
......
......@@ -9,6 +9,7 @@ import com.bumptech.glide.load.ImageHeaderParser;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.app.Config;
import com.wd.workoffice.bean.mesBean.ImageBean;
import com.wd.workoffice.ui.activity.mes.ImageActivity;
import com.wd.workoffice.util.GlideUtils;
......@@ -32,13 +33,13 @@ public class ImgAdapter extends BaseQuickAdapter<ImageBean, BaseViewHolder> {
@Override
protected void convert(BaseViewHolder helper, ImageBean item) {
ImageView ivImg = helper.getView(R.id.iv_img);
GlideUtils.getRequest().load(item.getUrl()).into(ivImg);
GlideUtils.getRequest().load("http://124.129.27.194:81/" + item.getPath()).into(ivImg);
helper.addOnClickListener(R.id.iv_img);
ivImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(helper.getConvertView().getContext(), ImageActivity.class);
intent.putExtra( "url", item.getUrl());
Intent intent = new Intent(helper.getConvertView().getContext(), ImageActivity.class);
intent.putExtra("url", "http://124.129.27.194:81/" + item.getPath());
startActivity(intent);
}
});
......
......@@ -57,12 +57,12 @@ public class MesTicketLogAdapter extends BaseQuickAdapter<LogBean, BaseViewHolde
// JzvdStd.startFullscreenDirectly(context,
// JzvdStd.class, imgList.get(position).getUrl(), "");
Intent intent =new Intent(context,VideoActivity.class);
intent.putExtra( "url", imgList.get(position).getUrl());
intent.putExtra( "url","http://124.129.27.194:81/" +imgList.get(position).getPath());
startActivity(intent);
}else {
Intent intent =new Intent(context,ImageActivity.class);
intent.putExtra( "url", imgList.get(position).getUrl());
intent.putExtra( "url","http://124.129.27.194:81/" + imgList.get(position).getPath());
startActivity(intent);
}
}
......
......@@ -4,8 +4,10 @@ import android.annotation.SuppressLint;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.CountDownTimer;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.Editable;
import android.text.TextUtils;
......@@ -19,6 +21,8 @@ import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.FileUtils;
import com.blankj.utilcode.util.ImageUtils;
import com.bumptech.glide.load.ImageHeaderParser;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
......@@ -39,7 +43,9 @@ import com.wd.workoffice.ui.adapter.StarAdapter;
import org.greenrobot.eventbus.EventBus;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
......@@ -53,6 +59,7 @@ import cn.jpush.android.api.JPushInterface;
import flexible.xd.android_base.network.rtfhttp.RtfHelper;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import flexible.xd.android_base.utils.LogUtils;
import id.zelory.compressor.Compressor;
import io.reactivex.disposables.Disposable;
import okhttp3.MediaType;
import okhttp3.RequestBody;
......@@ -936,9 +943,9 @@ public class WorkUtils {
returnContent = "购买服务";
break;
case "product":
if (TextUtils.equals(businessFormat,"PD")){
if (TextUtils.equals(businessFormat, "PD")) {
returnContent = "产品生产";
}else {
} else {
returnContent = "产品转库存";
}
break;
......@@ -947,4 +954,55 @@ public class WorkUtils {
}
return returnContent;
}
/**
* @return
*/
public static File getSmallImg(File img, Context context) {
long size = FileUtils.getLength(img);
if (size / 1024 > 1024) {
Bitmap bitmap = ImageUtils.getBitmap(img);
Bitmap bitmap1 = ImageUtils.compressByScale(bitmap, bitmap.getWidth() / 3 * 2, bitmap.getHeight() / 3 * 2);
// 0-100 100为不压缩
int quality = 80;
File file = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES).getAbsolutePath() +"/"+ System.currentTimeMillis());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 把压缩后的数据存放到baos中
bitmap1.compress(Bitmap.CompressFormat.JPEG, quality, baos);
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(baos.toByteArray());
fos.flush();
fos.close();
long endSize = FileUtils.getLength(file);
if (endSize / 1024 > 1024) {
return getSmallImg(file, context);
}
} catch (Exception e) {
e.printStackTrace();
}
return file;
}
// long size = FileUtils.getLength(img);
// if (size / 1024 > 2 * 1024) {
// File compressedImage = null;
// try {
// compressedImage = new Compressor(context)
// .setQuality(30)
// .setCompressFormat(Bitmap.CompressFormat.JPEG)
//// .setDestinationDirectoryPath(Environment.getExternalStoragePublicDirectory(
//// Environment.DIRECTORY_PICTURES).getAbsolutePath())
// .compressToFile(img);
// long endSize = FileUtils.getLength(compressedImage);
// if (endSize / 1024 > 2 * 1024) {
// return getSmallImg(compressedImage,context);
// }
// } catch (IOException e) {
// e.printStackTrace();
// }
// return compressedImage;
// }
return img;
}
}
......@@ -165,8 +165,13 @@
android:paddingVertical="13mm"
android:text="上传现场照片/视频"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm" />
<LinearLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="20mm">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论