package com.pm.ylg;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.pm.ylg.enity.DCItem;
import com.pm.ylg.enity.GoodsDTO;
import com.pm.ylg.enity.GoodsTypeDTO;
import com.pm.ylg.enity.RegionDTO;
import com.pm.ylg.enity.UserDTO;
import com.pm.ylg.util.CommonConst;
import com.pm.ylg.util.CommonFields;
import com.pm.ylg.util.CommonMethod;
import com.pm.ylg.util.DataUnits;
import com.pm.ylg.util.PinYinUtil;
import com.pm.ylg.util.Tools;
import com.pm.ylg.upload.UploadUtil;
import com.pm.ylg.interfaces.OnUploadProcessListener;
import com.pm.ylg_jz.R;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
/**
* 供货商商品库——修改商品,补传图片
* @author Administrator
*/
public class Qvl_Goods_Update extends Activity implements OnUploadProcessListener {
private EditText editGoodsCode,editGoodsName,editGoodsSpec,editBatchAmt,editRetailAmt,editProperty,editSpellCode,editWeight;
private TextView editRegionCounty,editTypeLevel1,editTypeLevel2,editTypeLevel3,editTypeLevel4;
private String editTypeLevel1Code="",editTypeLevel2Code="",editTypeLevel3Code="";
private String msg = "";
private UserDTO user;
private String countySelCode="",typeSelCode="";
private String filePath="";
private Spinner spinnerUnit;
private String unitSelCode="";
private List<DCItem> lst;//存储的下拉列表
private DCItem selectUnit;
private GoodsDTO goodsObj;//接收选中的参数实体
//图片上传相关参数
private TextView txtfilesize;
private ImageView img_pic1;
private Bitmap photo;
private boolean hasPic1=false;
private File file;
private int initSelUnitCode;//默认选中项,单位
private static final int UPFILEINIT=0;
private static final int UPFILE=1;
private static final int UPFILEING=2;
private static final int UPFILEDONE=3;
private Map<String, String> params = new LinkedHashMap<String, String>();//post的StringBody
private Handler myhandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
{
Log.v("chx","case whate 0 准备 文件大小:"+msg.arg1);
break;
}
case 1:
{
long max=file.length();
String filelenth=Tools.FormetFileSize(max);
Log.v("chx","case whate 1 开始传送 文件大小:"+max+":"+filelenth);
if (max>2147483647){
Log.v("chx","您选择的图片:"+filelenth);
Toast.makeText(Qvl_Goods_Update.this, "您选择的图片容量为:"+filelenth+"请重新选择小于2M的图片!", Toast.LENGTH_LONG).show();
return;
}
Log.v("chx", "begin uploadFile....");
UploadUtil uploadUtil = UploadUtil.getInstance();
//设置监听器监听上传状态
uploadUtil.setOnUploadProcessListener(Qvl_Goods_Update.this);
String filepath=file.getAbsolutePath();
//String prefix=filepath.substring(filepath.lastIndexOf(".")+1);
if(TextUtils.isEmpty(editGoodsCode.getText())){
Log.v("chx","请输入商品码!");
Toast.makeText(Qvl_Goods_Update.this, "请输入商品码!", Toast.LENGTH_LONG).show();
return;
}
//String prefix=filepath.substring(filepath.lastIndexOf("."));//后缀名带“.”
params.put("_qvlCode", user.getUserCode());//改为UserCode,生成的文件夹名和电脑上操作的文件夹名称不一致;user.getCurQvlNumber()
params.put("_goodsCode", editGoodsCode.getText().toString().trim());//带点的后缀名 .jpg
uploadUtil.uploadFile(filepath ,"img", DataUnits.serverUrl,params);
//uploadUtil.uploadFile2(filepath ,"img", params);
break;
}
case 2:
{
Log.v("chx"," case what 2 当前完成大小:"+msg.arg1);
txtfilesize.setText(Tools.FormetFileSize(msg.arg1)+"/"+Tools.FormetFileSize(file.length()));
break;
}
case 3:
{
Log.v("chx","case what 3传送完毕,返回码:"+msg.arg1+"内容:"+msg.obj);
switch (msg.arg1) {
case 0:
{
Log.v("chx"," 文件不存在,返回码:"+msg.arg1+"内容:"+msg.obj);
CommonMethod.showToastMsg(Qvl_Goods_Update.this, " 文件不存在,返回码:"+msg.arg1+"内容:"+msg.obj, Toast.LENGTH_LONG);
break;
}
case 1:
{
Log.v("chx"," 传送成功,返回码:"+msg.arg1+"内容:"+msg.obj);
String infoCode = (String) msg.obj;
if(infoCode.equals("240")){//没有商品
//CommonMethod.alertDialogMsg(Qvl_Goods_Add.this, "上传失败,商品码对应商品不存在,请先保存商品信息!");
CommonMethod.showToastMsg(Qvl_Goods_Update.this,"上传失败,商品码对应商品不存在,请先保存商品信息!",Toast.LENGTH_LONG);
}else if(infoCode.equals("250")){//没有文件
//CommonMethod.alertDialogMsg(Qvl_Goods_Add.this, "上传失败,上传文件为空!");
CommonMethod.showToastMsg(Qvl_Goods_Update.this,"上传失败,上传文件为空!",Toast.LENGTH_LONG);
}else{//200
//CommonMethod.alertDialogMsg(Qvl_Goods_Add.this, "传送成功,返回码:"+msg.arg1+"内容:"+msg.obj);
/*AlertDialog.Builder builder = new AlertDialog.Builder(Qvl_Goods_Update.this);
builder.setIcon(R.drawable.app);
builder.setTitle("上传成功,是否继续添加商品?");
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();//留着该页面,是否清除页面中的数据
cleanValues();
}
});
builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
Intent data = new Intent();
data.putExtra("code", "1");
setResult(0, data);
Qvl_Goods_Update.this.finish();
}
});
builder.create().show(); */
CommonMethod.showToastMsg(Qvl_Goods_Update.this, "上传成功", Toast.LENGTH_LONG);
Intent data = new Intent();
data.putExtra("code", "1");
setResult(0, data);
Qvl_Goods_Update.this.finish();
}
break;
}
case 4:
{
Log.v("chx"," 上传失败,返回码:"+msg.arg1+"内容:"+msg.obj);
CommonMethod.showToastMsg(Qvl_Goods_Update.this," 上传失败,返回码:"+msg.arg1+"内容:"+msg.obj , Toast.LENGTH_LONG);
break;
}
default:
break;
}
break;
}
default:
break;
}
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.qvl_goods_edit);//qvl_goods_add
//启动activity时不自动弹出软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
goodsObj = (GoodsDTO)bundle.getSerializable("goods");
//1�