package com.puyi.mobilehospital.http.orders;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Message;
import android.util.Log;
import com.puyi.mobilehospital.entity.costManager.CancelMedicine;
import com.puyi.mobilehospital.http.connection.HttpCommand;
import com.puyi.mobilehospital.utils.LogUtil;
/**
*
* @类名称: CancelMedicineOrder
* @类描述:取消领药
* @作 者: 胡高山
* @创建时间: 2012-4-26 下午7:43
*/
public class CancelMedicineOrder implements HttpCommand {
private static final String TAG = "CancelMedicineOrder";
private String json;
private String hospitalNo;
@Override
public void execute(JSONObject parameter, Message msg) throws Exception {
// 填入假数据,模拟已经从服务器返回包含数据的Json,解析后通过Message传出,在界面由Handler接收后显示
JSONObject jparameter = parameter;
hospitalNo = (String) jparameter.get("hospitalNo");
json = setJson(hospitalNo);
if (null != json) {//有假数据
Log.i(TAG, "execute setJson no null ");
JSONObject jsnobj;
try {
jsnobj = new JSONObject(json);
int code = jsnobj.optInt("code");
String errormsg = jsnobj.optString("message");
LogUtil.d(TAG, "code: " + code);
if (code == 0) {
ArrayList<CancelMedicine> cancelList = messageParse(json);
Log.i(TAG, "messageParse json OK 53");
msg.obj = cancelList;
msg.arg1 = code;
} else if (code == 1) {
msg.obj = errormsg;
msg.arg1 = code;
Log.i(TAG, "messageParse json error 60");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
msg.sendToTarget();
}
/**
* 解析响应的JSON数据 PatientInfos
*/
public ArrayList<CancelMedicine> messageParse(String json) {
ArrayList<CancelMedicine> cancelList=new ArrayList<CancelMedicine>();
try {
JSONObject jsnobj = new JSONObject(json);
// 总Info
JSONObject CancelMedicineInfo = jsnobj.optJSONObject("CancelMedicineInfo");
JSONArray jaCancelMedicine=CancelMedicineInfo.optJSONArray("CancelMedicineList");
//取消领药 CancelMedicine======================================================================================
if(jaCancelMedicine.length()>0){
CancelMedicine cancelMedicine;
for(int i=0;i<jaCancelMedicine.length();i++){
JSONObject object=jaCancelMedicine.optJSONObject(i);
cancelMedicine=new CancelMedicine();
cancelMedicine.hospitalNo=object.optString("hospitalNo");
cancelMedicine.productName=object.optString("productName");
cancelMedicine.standard=object.optString("standard");
cancelMedicine.price=object.optDouble("price");
cancelMedicine.applyNum=object.optInt("applyNum");
cancelMedicine.totalMoney=object.optDouble("totalMoney");
cancelMedicine.applyLab=object.optString("applyLab");
cancelMedicine.provideLab=object.optString("provideLab");
cancelMedicine.patientName=object.optString("patientName");
cancelMedicine.applyDate=object.optString("applyDate");
cancelList.add(cancelMedicine);
}
}
}catch (JSONException e) {
e.printStackTrace();
}
return cancelList;
}
@Override
public boolean onTimeOut(JSONObject parameter, Message msg) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onException(JSONObject parameter, Message msg, Exception e) {
// TODO Auto-generated method stub
}
// 假数据填入方法
public String setJson(String hospitalNo) {
String jsonstr = null;
if (hospitalNo.equals("00000002")) {
jsonstr = "{\"code\":0,\"message\":\"success\",\"CancelMedicineInfo\":{"
+ "\"CancelMedicineList\":["
+ "{\"hospitalNo\": \"00000002\",\"productName\":\"生血宁片\",\"standard\":\"0.5mg片\",\"price\":\"7.5\",\"applyNum\":\"2\",\"totalMoney\":\"15\",\"applyLab\":\"05病区\",\"provideLab\":\"药房\",\"patientName\":\"秦春华\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000002\",\"productName\":\"生血宁片\",\"standard\":\"1.5mg片\",\"price\":\"5.5\",\"applyNum\":\"2\",\"totalMoney\":\"11\",\"applyLab\":\"05病区\",\"provideLab\":\"药房\",\"patientName\":\"秦春华\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000002\",\"productName\":\"生血宁片\",\"standard\":\"2.5mg片\",\"price\":\"3.5\",\"applyNum\":\"2\",\"totalMoney\":\"7\",\"applyLab\":\"05病区\",\"provideLab\":\"药房\",\"patientName\":\"秦春华\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000002\",\"productName\":\"生血宁片\",\"standard\":\"2.5mg片\",\"price\":\"6.5\",\"applyNum\":\"2\",\"totalMoney\":\"13\",\"applyLab\":\"05病区\",\"provideLab\":\"药房\",\"patientName\":\"秦春华\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000002\",\"productName\":\"生血宁片\",\"standard\":\"0.15mg片\",\"price\":\"2.5\",\"applyNum\":\"2\",\"totalMoney\":\"5\",\"applyLab\":\"05病区\",\"provideLab\":\"药房\",\"patientName\":\"秦春华\",\"applyDate\":\"2011-10-05 0:30:25\"}"
+ "]"
+"}}";
} else if (hospitalNo.equals("00000001")) {
jsonstr = "{\"code\":0,\"message\":\"success\",\"CancelMedicineInfo\":{"
+ "\"CancelMedicineList\":["
+ "{\"hospitalNo\": \"00000001\",\"productName\":\"利可君片\",\"standard\":\"2.5mg片\",\"price\":\"6.5\",\"applyNum\":\"2\",\"totalMoney\":\"13\",\"applyLab\":\"01病区\",\"provideLab\":\"药房\",\"patientName\":\"范子毅\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000001\",\"productName\":\"利可君片\",\"standard\":\"1.5mg片\",\"price\":\"5.5\",\"applyNum\":\"2\",\"totalMoney\":\"11\",\"applyLab\":\"01病区\",\"provideLab\":\"药房\",\"patientName\":\"范子毅\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000001\",\"productName\":\"利可君片\",\"standard\":\"2.5mg片\",\"price\":\"3.5\",\"applyNum\":\"2\",\"totalMoney\":\"7\",\"applyLab\":\"01病区\",\"provideLab\":\"药房\",\"patientName\":\"范子毅\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000001\",\"productName\":\"利可君片\",\"standard\":\"2.5mg片\",\"price\":\"6.5\",\"applyNum\":\"2\",\"totalMoney\":\"13\",\"applyLab\":\"01病区\",\"provideLab\":\"药房\",\"patientName\":\"范子毅\",\"applyDate\":\"2011-10-05 0:30:25\"},"
+ "{\"hospitalNo\": \"00000001\",\"productName\":\"生血宁片\",\"standard\":\"0.15mg片\",\"price\":\"2.5\",\"applyNum\":\"2\",\"totalMoney\":\"5\",\"applyLab\":\"01病区\",\"provideLab\":\"药房\",\"patientName\":\"范子毅\",\"applyDate\":\"2011-10-05 0:30:25\"}"
+ "]"
+"}}";
}
return jsonstr;
}
}