package com.chinaece.gaia.gui; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Calendar; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.chinaece.gaia.R; import com.chinaece.gaia.db.DataStorage; import com.chinaece.gaia.http.OAHttpApi; public class newLogItemActivity extends Activity{ //用来保存年月日: private int mYear; private int mMonth; private int mDay; private int h; private int m; private String formatUrl,appid, token, formid,url; private TextView editText3=null; private TextView endeditText=null; private EditText nameeditText=null; private EditText editText=null; private static final int STEP1 = 1000; private static final int STEP2 = 1001; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); DataStorage.load(newLogItemActivity.this); setContentView(R.layout.logitem); Calendar cal = Calendar.getInstance(); final int mYear = cal.get(Calendar.YEAR); final int mMonth = cal.get(Calendar.MONTH); final int mDay = cal.get(Calendar.DATE); int dayofweek = cal.get(Calendar.DAY_OF_WEEK)-1; TextView tvdate = (TextView)findViewById(R.id.txt_date); tvdate.setText(mYear + "年" + (mMonth+1) + "月" + mDay + "日"); TextView tvweek = (TextView)findViewById(R.id.txt_week); if(dayofweek==4){ tvweek.setText("星期四"); }else if(dayofweek==1){ tvweek.setText("星期一"); }else if(dayofweek==2){ tvweek.setText("星期二"); }else if(dayofweek==3){ tvweek.setText("星期三"); }else if(dayofweek==5){ tvweek.setText("星期五"); }else if(dayofweek==6){ tvweek.setText("星期六"); }else if(dayofweek==7){ tvweek.setText("星期日"); } editText3=(TextView)findViewById(R.id.TextView3); nameeditText=(EditText)findViewById(R.id.editText1); editText=(EditText)findViewById(R.id.editText2); //开始日程时间设置 Button button3=(Button)findViewById(R.id.button3); button3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent calIntent = new Intent(newLogItemActivity.this,newDataActivity.class); newLogItemActivity.this.startActivityForResult(calIntent, STEP1);//数字随意 } }); endeditText=(TextView)findViewById(R.id.TextView4); //结束日程时间设置 Button button4=(Button)findViewById(R.id.button4); button4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent calIntent = new Intent(newLogItemActivity.this,endNewDataActivity.class); newLogItemActivity.this.startActivityForResult(calIntent, STEP2);//数字随意 } }); //返回Button,实现返回日历原来界面 Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent calIntent = new Intent(newLogItemActivity.this,CalendarActivity.class); startActivity(calIntent); } }); //提交Button,实现重组新数据,发回数据库,并且在日历界面上展现 Button button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String endtime=endeditText.getText().toString(); String starttime=editText3.getText().toString(); String nameString=nameeditText.getText().toString(); String string=editText.getText().toString(); //String aaa= endtime.replaceAll("[-:]+","");//去除字符串中的"-"和":" if("".equals(nameString)&&(nameString.equals(""))){ Toast.makeText(getApplicationContext(), "标题不能为空", Toast.LENGTH_SHORT).show(); }else { if("".equals(starttime)&&(starttime.equals(""))){ Toast.makeText(getApplicationContext(), "开始时间不能为空", Toast.LENGTH_SHORT).show(); }else{ if("".equals(endtime)&&(endtime.equals(""))){ Toast.makeText(getApplicationContext(), "结束时间不能为空", Toast.LENGTH_SHORT).show(); }else{ token = DataStorage.properties.getProperty("token"); formatUrl =DataStorage.properties.getProperty("url"); appid="11df-d5cd-a070e761-9234-c19050f7abd5";//OA系统的APPid //url="http://oa.china-ece.com:18081/client/getApps.action?"; formid="11e0-0748-ff23f103-bbfc-a93bc9c46f71"; JSONObject document = new JSONObject(); JSONObject document1 = new JSONObject(); try { try { document.put("affair",URLEncoder.encode(nameString,"UTF-8")); document.put("content1", URLEncoder.encode(string,"UTF-8")); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } document.put("starttime", starttime); document.put("endtime", endtime); } catch (JSONException e) { e.printStackTrace(); } try { document1.put("formid", formid); document1.put("appid", appid); document1.put("fields", document); } catch (Exception e) { // TODO: handle exception } SubmitTask task = new SubmitTask(); task.execute(formatUrl.toString(), token.toString(),document1.toString()); } } } } }); } //处理返回的结果: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case STEP1: mYear = Integer.parseInt(data.getStringExtra("year")); mMonth = Integer.parseInt(data.getStringExtra("month")); mDay = Integer.parseInt(data.getStringExtra("day")); h= Integer.parseInt(data.getStringExtra("h")); m= Integer.parseInt(data.getStringExtra("m")); //设置文本的内容: editText3.setText(new StringBuilder() .append(mYear).append("-") .append(mMonth + 1).append("-")//得到的月份+1,因为从0开始 .append(mDay).append(" ") .append(h).append(":") .append(m).append(":") .append("00").append("")); break; case STEP2: mYear = Integer.parseInt(data.getStringExtra("year")); mMonth = Integer.parseInt(data.getStringExtra("month")); mDay = Integer.parseInt(data.getStringExtra("day")); h= Integer.parseInt(data.getStringExtra("h")); m= Integer.parseInt(data.getStringExtra("m")); //设置文本的内容: endeditText.setText(new StringBuilder() .append(mYear).append("-") .append(mMonth + 1).append("-")//得到的月份+1,因为从0开始 .append(mDay).append(" ") .append(h).append(":") .append(m).append(":") .append("00").append("")); break; } } class SubmitTask extends AsyncTask<String, Integer, Boolean> { private ProgressDialog dialog; @Override protected void onPreExecute() { dialog = ProgressDialog.show(newLogItemActivity.this, "请稍等...", "正在提交..."); } @Override protected Boolean doInBackground(String... params) { OAHttpApi OaApi = new OAHttpApi(params[0]); Boolean flag = OaApi.newBbuild(params[1], params[2]); return flag; } @Override protected void onPostExecute(Boolean flag) { dialog.dismiss(); if(flag){ Intent intent1 = new Intent(newLogItemActivity.this,MainActivity.class); startActivity(intent1); Intent intent = new Intent(newLogItemActivity.this,CalendarActivity.class); startActivity(intent); newLogItemActivity.this.finish(); Toast.makeText(getApplicationContext(), "提交成功", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(getApplicationContext(), "提交失败", Toast.LENGTH_LONG).show(); } } } }