Commit 1bf78a2e by Yu-Tung

上傳api測試

parent a25be043
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
...@@ -10,6 +10,7 @@ import android.content.pm.PackageManager; ...@@ -10,6 +10,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.media.MediaRecorder;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
...@@ -39,6 +40,7 @@ import java.util.ArrayList; ...@@ -39,6 +40,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.concurrent.TimeUnit;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
...@@ -46,9 +48,10 @@ import okhttp3.OkHttpClient; ...@@ -46,9 +48,10 @@ import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import okhttp3.Response; import okhttp3.Response;
import retrofit2.http.Body;
public class MainActivity extends BaseActivity implements MainContract.View,View.OnClickListener { public class MainActivity extends BaseActivity implements MainContract.View, View.OnClickListener {
private static final int REQUEST_CAPTURE_IMAGE = 100; private static final int REQUEST_CAPTURE_IMAGE = 100;
...@@ -57,13 +60,13 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -57,13 +60,13 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
private static final int PICK_VIDEO_FROM_GALLERY_REQUEST_CODE = 400; private static final int PICK_VIDEO_FROM_GALLERY_REQUEST_CODE = 400;
private static final int PICK_FILE_REQUEST_CODE = 500; private static final int PICK_FILE_REQUEST_CODE = 500;
private Button btnCapturePicture, btnRecordVideo, btnGetImageFromGallery, btnGetVideoFromGallery, btnDeviceEdit, btnCentralCloud, btnChoseDevice,btnBasicInformation; private Button btnCapturePicture, btnRecordVideo, btnGetImageFromGallery, btnGetVideoFromGallery, btnDeviceEdit, btnCentralCloud, btnChoseDevice, btnBasicInformation;
private File photoFile; private File photoFile;
// Bundle bag; // Bundle bag;
String token,imageFilePath; String token, imageFilePath;
int countFile = 0; int countFile = 0;
TextView tvCompany,tvFactory,tvClass,tvUnit,tvShootType; TextView tvCompany, tvFactory, tvClass, tvUnit, tvShootType;
private MainPresenter mPresenter; private MainPresenter mPresenter;
private MainData mMainData; private MainData mMainData;
private ChooseDeviceItemData mChooseDeviceItemData; private ChooseDeviceItemData mChooseDeviceItemData;
...@@ -73,7 +76,6 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -73,7 +76,6 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
private List<String> filename = new ArrayList<>(); private List<String> filename = new ArrayList<>();
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -161,7 +163,7 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -161,7 +163,7 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
PackageManager packageManager = this.getPackageManager(); PackageManager packageManager = this.getPackageManager();
List<ResolveInfo> listCam = packageManager.queryIntentActivities(takeVideoIntent, 0); List<ResolveInfo> listCam = packageManager.queryIntentActivities(takeVideoIntent, 0);
takeVideoIntent.setPackage(listCam.get(0).activityInfo.packageName); takeVideoIntent.setPackage(listCam.get(0).activityInfo.packageName);
takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 10996480L); // takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 10996480L); //限制影片大小
if (takeVideoIntent.resolveActivity(getPackageManager()) != null) { if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE); startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
} }
...@@ -218,18 +220,18 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -218,18 +220,18 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
if (requestCode == PICK_IMAGE_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) { if (requestCode == PICK_IMAGE_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) {
ArrayList<String> uriList = new ArrayList<String>(); ArrayList<String> uriList = new ArrayList<String>();
if (data.getClipData() != null){ if (data.getClipData() != null) {
for (int i = 0; i < data.getClipData().getItemCount(); i++) { for (int i = 0; i < data.getClipData().getItemCount(); i++) {
uriList.add(getPath(data.getClipData().getItemAt(i).getUri())); uriList.add(getPath(data.getClipData().getItemAt(i).getUri()));
Log.e("gggg", "" + uriList.get(i)); Log.e("gggg", "" + uriList.get(i));
} }
} } else if (Build.VERSION.SDK_INT >= 16 && data.getClipData() == null) {
else if (Build.VERSION.SDK_INT>=16 && data.getClipData()== null){
uriList.add(getPath(data.getData())); uriList.add(getPath(data.getData()));
Log.e("eee",getPath(data.getData())); Log.e("eee", getPath(data.getData()));
} }
//照片的uri //照片的uri
// onUploadFile(uriList, getResourceString(R.string.on_upload_image)); onUploadFile(uriList, getResourceString(R.string.on_upload_image));
// onUploadFile1();
} }
if (requestCode == PICK_VIDEO_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) { if (requestCode == PICK_VIDEO_FROM_GALLERY_REQUEST_CODE && resultCode == RESULT_OK) {
...@@ -243,16 +245,17 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -243,16 +245,17 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
uriList.add(getPath(data.getClipData().getItemAt(i).getUri())); uriList.add(getPath(data.getClipData().getItemAt(i).getUri()));
filename.add(FileUtil.fileName(getPath(data.getClipData().getItemAt(i).getUri()))); filename.add(FileUtil.fileName(getPath(data.getClipData().getItemAt(i).getUri())));
Log.e("gggg", "" + uriList.get(i)); Log.e("gggg", "" + uriList.get(i));
Log.e("dddd",""+filename.get(i)); Log.e("dddd", "" + filename.get(i));
mPresenter.segVideo(uriList.get(i),filename.get(i)); mPresenter.segVideo(uriList.get(i), filename.get(i));
} }
Log.e("aaa",count+""); Log.e("aaa", count + "");
} else if (Build.VERSION.SDK_INT >= 16 && data.getClipData() == null) { } else if (Build.VERSION.SDK_INT >= 16 && data.getClipData() == null) {
uriList.clear(); uriList.clear();
String path = FileUtil.getFileAbsolutePath(this, data.getData()); String path = FileUtil.getFileAbsolutePath(this, data.getData());
String name =FileUtil.fileName(path); String name = FileUtil.fileName(path);
mPresenter.segVideo(path,name); mPresenter.segVideo(path, name);
Log.e("path", path);
// TODO here==================== // TODO here====================
// onUploadFile(compressList, getResourceString(R.string.on_upload_vedio)); // onUploadFile(compressList, getResourceString(R.string.on_upload_vedio));
...@@ -295,13 +298,14 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -295,13 +298,14 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
@Override @Override
public void onClick(View v) { public void onClick(View v) {
switch (v.getId()){ switch (v.getId()) {
case R.id.btnCaptureImage: case R.id.btnCaptureImage:
openCameraIntent(); openCameraIntent();
break; break;
case R.id.btnGetImageFromGallery: case R.id.btnGetImageFromGallery:
pickImageFromGallery(); pickImageFromGallery();
// onUploadFile1();
break; break;
case R.id.btnGetVideoFromGallery: case R.id.btnGetVideoFromGallery:
...@@ -321,33 +325,33 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -321,33 +325,33 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
break; break;
case R.id.tv_unit: case R.id.tv_unit:
if (mChooseDeviceItemData.getFactoryAreaId().equals("")){ if (mChooseDeviceItemData.getFactoryAreaId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_maintenance_plant_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_maintenance_plant_error));
} }
if(mChooseDeviceItemData.getCompanyId().equals("")){ if (mChooseDeviceItemData.getCompanyId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error));
} }
mPresenter.onGetDPData(mChooseDeviceItemData.getCompanyId(),mChooseDeviceItemData.getFactoryAreaId()); mPresenter.onGetDPData(mChooseDeviceItemData.getCompanyId(), mChooseDeviceItemData.getFactoryAreaId());
break; break;
case R.id.tv_class: case R.id.tv_class:
if (mChooseDeviceItemData.getCompanyId().equals("")){ if (mChooseDeviceItemData.getCompanyId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error));
} }
if (mChooseDeviceItemData.getProductionPlantId().equals("")){ if (mChooseDeviceItemData.getProductionPlantId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_production_plant_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_production_plant_error));
} }
mPresenter.onGetSHIFTData(mChooseDeviceItemData.getCompanyId(),mChooseDeviceItemData.getProductionPlantId()); mPresenter.onGetSHIFTData(mChooseDeviceItemData.getCompanyId(), mChooseDeviceItemData.getProductionPlantId());
break; break;
case R.id.tv_shoottype: case R.id.tv_shoottype:
if (mChooseDeviceItemData.getCompanyId().equals("")){ if (mChooseDeviceItemData.getCompanyId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_company_error));
} }
if (mChooseDeviceItemData.getProductionPlantId().equals("")){ if (mChooseDeviceItemData.getProductionPlantId().equals("")) {
showDialogCaveatMessage(getResourceString(R.string.add_device_no_production_plant_error)); showDialogCaveatMessage(getResourceString(R.string.add_device_no_production_plant_error));
} }
mPresenter.onGetTYPEData(mChooseDeviceItemData.getCompanyId(),mChooseDeviceItemData.getProductionPlantId() mPresenter.onGetTYPEData(mChooseDeviceItemData.getCompanyId(), mChooseDeviceItemData.getProductionPlantId()
); );
break; break;
...@@ -360,37 +364,80 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -360,37 +364,80 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
// OkHttpClient client = new OkHttpClient().newBuilder()
// .build();
// MediaType mediaType = MediaType.parse("text/plain");
// MultipartBody.Builder buildernew = new MultipartBody.Builder()
// .setType(MultipartBody.FORM)
// .addFormDataPart("AuthorizedId", "1179cf63-9f4c-4060-a0f3-201f108b20c1")
// .addFormDataPart("CO", "1")
// .addFormDataPart("CONM", "台塑")
// .addFormDataPart("PMFCT", "A3")
// .addFormDataPart("PMFCTNM", "麥寮AN廠")
// .addFormDataPart("EQKD", "PU")
// .addFormDataPart("EQKDNM", "泵浦")
// .addFormDataPart("EQNO", "P-166")
// .addFormDataPart("EQNM", "工業用水泵浦")
// .addFormDataPart("RecordDate", "2020/04/06")
// .addFormDataPart("RecordSubject", "測試")
// .addFormDataPart("UploadEMP", "1")
// .addFormDataPart("UploadNM", "新人")
// .addFormDataPart("UploadDATETM", "");
// for (String path : uriList) {
// File uploadFile = new File(path);
// buildernew.addFormDataPart("", uploadFile.getName(),
// RequestBody.create(MediaType.parse("application/octet-stream"),
// uploadFile));
// }
// RequestBody body = buildernew.build();
//
// Request request = new Request.Builder()
// .url("https://cloud.fpcetg.com.tw/FPC/API/MTN/API_MTN/MTN/Upload")
// .method("POST", body)
// .build();
String apiname = "SYNO.FileStation.Upload";
String method = "upload";
String version = "2";
String sid = "lRlPHRE7r9hm---3DSmlBx_r4gTaMuYkASLtpKHKp0c3M1jgiWwzGtQqj5d6OXoggCk1dIvHz7tUvhCgWnIJkY";
String path1 = "/仁武氯乙烯廠製造一課/1_SOP導讀";
Boolean a = true;
Boolean b = false;
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build(); .build();
MediaType mediaType = MediaType.parse("text/plain"); MediaType mediaType = MediaType.parse("application/octet-stream");
MultipartBody.Builder buildernew = new MultipartBody.Builder() MultipartBody.Builder buildernew = new MultipartBody.Builder()
.setType(MultipartBody.FORM) .setType(MultipartBody.FORM)
.addFormDataPart("AuthorizedId", "1179cf63-9f4c-4060-a0f3-201f108b20c1") .addFormDataPart("path",""+path1)
.addFormDataPart("CO", "1") .addFormDataPart("create_parents", ""+b)
.addFormDataPart("CONM", "台塑") .addFormDataPart("overwrite", ""+a)
.addFormDataPart("PMFCT", "A3") .addFormDataPart("file", "b525a7db0c5da640_1.jpg",
.addFormDataPart("PMFCTNM", "麥寮AN廠") RequestBody.create(mediaType,new File("/storage/emulated/0/Watashi AHD V.2/temp_images/b525a7db0c5da640_1.jpg")
.addFormDataPart("EQKD", "PU") ));
.addFormDataPart("EQKDNM", "泵浦")
.addFormDataPart("EQNO", "P-166") // .addFormDataPart("file","seg_1VID_20200604_155612.mp4.mp4",
.addFormDataPart("EQNM", "工業用水泵浦") // RequestBody.create(MediaType.parse("application/octet-stream"),
.addFormDataPart("RecordDate", "2020/04/06") // "/storage/emulated/0/seg_1VID_20200604_155612.mp4.mp4"));
.addFormDataPart("RecordSubject", "測試")
.addFormDataPart("UploadEMP", "1") // for (String path : uriList) {
.addFormDataPart("UploadNM", "新人") // File uploadFile = new File(path);
.addFormDataPart("UploadDATETM", ""); // buildernew.addFormDataPart("file", uploadFile.getName(),
for (String path : uriList) { // RequestBody.create(mediaType,uploadFile));
File uploadFile = new File(path); // Log.e("path", uploadFile.getName());
buildernew.addFormDataPart("", uploadFile.getName(), // }
RequestBody.create(MediaType.parse("application/octet-stream"),
uploadFile));
}
RequestBody body = buildernew.build(); RequestBody body = buildernew.build();
Request request = new Request.Builder() Request request = new Request.Builder()
.url("https://cloud.fpcetg.com.tw/FPC/API/MTN/API_MTN/MTN/Upload") .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="+apiname+"&method="+method+"&version="+version+"&_sid="+sid)
// .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi")
.method("POST", body) .method("POST", body)
.build(); .build();
try { try {
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
Log.e("response", response.body().string()); Log.e("response", response.body().string());
...@@ -399,7 +446,40 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -399,7 +446,40 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
dismissProgressDialog(); dismissProgressDialog();
showDialogCaveatMessage("上傳失敗"); // showDialogCaveatMessage("上傳失敗");
Log.e("error", "" + e.getMessage());
}
}
}).start();
}
private void onUploadFile1() {
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient().newBuilder()
.connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15, TimeUnit.SECONDS)
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("path", "/仁武氯乙烯廠製造一課/3_SOP落實度查核/DA")
.addFormDataPart("create_parents", "flase")
.addFormDataPart("overwrite", "true")
.addFormDataPart("file", "IMG_20200528_144512.jpg",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("/storage/emulated/0/DCIM/Camera/IMG_20200528_144512.jpg")))
.build();
Request request = new Request.Builder()
.url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api=SYNO.FileStation.Upload&method=upload&version=2")
.method("POST", body)
.build();
try {
Response response = client.newCall(request).execute();
Log.e("response", response.body().string());
} catch (IOException e) {
e.printStackTrace();
Log.e("error", "" + e.getMessage()); Log.e("error", "" + e.getMessage());
} }
} }
...@@ -410,50 +490,50 @@ public class MainActivity extends BaseActivity implements MainContract.View,View ...@@ -410,50 +490,50 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
public void setCOData(List<COResponse> adapterData) { public void setCOData(List<COResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmCODataList(adapterData); mMainData.setmCODataList(adapterData);
for (COResponse mCoResponse: adapterData){ for (COResponse mCoResponse : adapterData) {
dialogString.add(mCoResponse.getcONM()); dialogString.add(mCoResponse.getcONM());
} }
showItemDialog(dialogString,onCompanyDialogItemClick); showItemDialog(dialogString, onCompanyDialogItemClick);
} }
@Override @Override
public void setPZData(List<MNTFCTResponse> adapterData) { public void setPZData(List<MNTFCTResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmMNTFCTDataList(adapterData); mMainData.setmMNTFCTDataList(adapterData);
for(MNTFCTResponse mMNTFCTResponse: adapterData){ for (MNTFCTResponse mMNTFCTResponse : adapterData) {
dialogString.add(mMNTFCTResponse.getmPZNM()); dialogString.add(mMNTFCTResponse.getmPZNM());
} }
showItemDialog(dialogString,onMaintenanceDialogItemClick); showItemDialog(dialogString, onMaintenanceDialogItemClick);
} }
@Override @Override
public void setDPNMData(List<PMFCTResponse> adapterData) { public void setDPNMData(List<PMFCTResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmPMFCTDataList(adapterData); mMainData.setmPMFCTDataList(adapterData);
for(PMFCTResponse mPMFCTResponse: adapterData){ for (PMFCTResponse mPMFCTResponse : adapterData) {
dialogString.add(mPMFCTResponse.getmDPNM()); dialogString.add(mPMFCTResponse.getmDPNM());
} }
showItemDialog(dialogString,onProductionDialogItemClick); showItemDialog(dialogString, onProductionDialogItemClick);
} }
@Override @Override
public void setEQKDData(List<EQKDResponse> adapterData) { public void setEQKDData(List<EQKDResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmEQKDDataList(adapterData); mMainData.setmEQKDDataList(adapterData);
for(EQKDResponse mEQKDResponse: adapterData){ for (EQKDResponse mEQKDResponse : adapterData) {
dialogString.add(mEQKDResponse.getmShift()); dialogString.add(mEQKDResponse.getmShift());
} }
showItemDialog(dialogString,onDeviceCategoryDialogItemClick); showItemDialog(dialogString, onDeviceCategoryDialogItemClick);
} }
@Override @Override
public void setTYPEData(List<TYPEResponse> adapterData) { public void setTYPEData(List<TYPEResponse> adapterData) {
dialogString.clear(); dialogString.clear();
mMainData.setmTYPEDataList(adapterData); mMainData.setmTYPEDataList(adapterData);
for(TYPEResponse mTYPEResponse: adapterData){ for (TYPEResponse mTYPEResponse : adapterData) {
dialogString.add(mTYPEResponse.getmType()); dialogString.add(mTYPEResponse.getmType());
} }
showItemDialog(dialogString,onShootTypeCategoryDialogItemClick); showItemDialog(dialogString, onShootTypeCategoryDialogItemClick);
} }
private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment