Browse Source

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer

RaoMeng 9 years ago
parent
commit
2d45551b5d

+ 32 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java

@@ -1,5 +1,6 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.crm;
 
+import android.app.AlertDialog;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
@@ -9,6 +10,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.EditText;
+import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.andreabaccega.widget.FormEditText;
@@ -22,6 +24,9 @@ import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.view.DateTimePickerDialog;
+import com.xzjmyk.pm.activity.util.TimeUtils;
+import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
 import com.xzjmyk.pm.activity.view.wheel.OptionPicker;
 
@@ -122,6 +127,17 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
         return true;
     }
 
+    public void showDialog(final TextView tv) {
+        DateTimePickerDialog dialog = new DateTimePickerDialog(this, System.currentTimeMillis());
+        dialog.setOnDateTimeSetListener(new DateTimePickerDialog.OnDateTimeSetListener() {
+            public void OnDateTimeSet(AlertDialog dia, long date) {
+                String str = TimeUtils.f_long_2_str(date);
+                tv.setText(str);
+            }
+        });
+        dialog.show();
+    }
+
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -159,13 +175,16 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
     };
 
     private void sendHttpResquest(int what) {
-        //SOURCECODE    bt_code
         progressDialog.show();
         String str = "";
-        if (type == 2) {
-            str = "meetingtask";
+        if (type == 0) {
+            str = "Task";
+        } else if (type == 1) {
+            str = "Schedule";
+        } else if (type == 2) {
+            str = "MTask";
         } else {
-            str = tv_type.getText().toString();
+            str = "Task";
         }
         String formStore = "{\n" +
                 "\"taskcode\":\"" + tv_code + "\",\n" +//编号
@@ -201,6 +220,7 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }
+
     private void showNoticeDialog() {
         OptionPicker sex_option = new OptionPicker(this, new String[]{
                 "10分钟", "30分钟", "60分钟"
@@ -272,10 +292,16 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.tv_date_start:
-                showDateDialog((FormEditText) v.findViewById(R.id.tv_date_start));
+                showDialog(tv_date_start);
+//                showDateDialog((FormEditText) v.findViewById(R.id.tv_date_start));
                 break;
             case R.id.tv_date:
-                showDateDialog((FormEditText) v.findViewById(R.id.tv_date));
+                if (tv_date_start.getText() != null && tv_date_start.getText().toString().length() > 0) {
+                    showDialog(tv_date);
+                } else {
+                    ToastUtil.showToast(ct, "请先填写开始日期");
+                }
+//                showDateDialog((FormEditText) v.findViewById(R.id.tv_date));
                 break;
             case R.id.tv_notice:
                 showNoticeDialog();

+ 3 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -43,6 +43,8 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
 
     @ViewInject(R.id.tv_address_login)
     private FormEditText tv_address_login;
+    @ViewInject(R.id.tv_visit_steps)
+    private FormEditText tv_visit_steps;
     @ViewInject(R.id.tv_address_refresh)
     private TextView tv_address_refresh;
     @ViewInject(R.id.tv_customer_login)
@@ -97,6 +99,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         tv_linksman_login.setText(bean.getVp_contact() == null ? "未填写" : bean.getVp_contact());
         tv_address_login.setText(bean.getAddress() == null ? "未填写" : bean.getAddress());
         tv_visit_theme.setText(bean.getName() == null ? "未填写" : bean.getName());
+        tv_visit_steps.setText(bean.getNichestep() == null ? "未填写" : bean.getNichestep());
     }
 
     @Override

+ 77 - 18
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetTaskActivity.java

@@ -10,13 +10,17 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.AdapterView;
 import android.widget.BaseAdapter;
-import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.DetailTaskActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.crm.TaskAddActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -32,15 +36,17 @@ public class AddMeetTaskActivity extends BaseActivity {
         public void handleMessage(Message msg) {
             String message = msg.getData().getString("result");
             switch (msg.what) {
-                case 0x11:
-                    Log.i("gongpengming", message);
-
+                case 0x15:
+                    JSONObject object = JSON.parseObject(message);
+                    if (object.containsKey("data") && object.getJSONArray("data").size() > 0) {
+                        adapter.setArray(object.getJSONArray("data"));
+                    }
                     break;
             }
-
         }
     };
     private String meetName;
+    private AddMeetTaskAdapter adapter;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -77,44 +83,83 @@ public class AddMeetTaskActivity extends BaseActivity {
     private void initView() {
         listView = (PullToRefreshListView) findViewById(R.id.listview);
         listView.setEmptyView(R.layout.view_empty);
+        adapter = new AddMeetTaskAdapter();
+        listView.setAdapter(adapter);
         meetName = getIntent().getStringExtra("name");
+        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                JSONArray array = adapter.getArray();
+                JSONObject object = array.getJSONObject(i - 1 < 0 ? 0 : (i - 1));
+                Intent intent = new Intent(ct, DetailTaskActivity.class);
+                intent.putExtra("description", object.containsKey("description") ? object.getString("description") : null);
+                intent.putExtra("duration", object.containsKey("duration") ? object.getString("duration") : null);
+                intent.putExtra("status", object.containsKey("ra_status") ? object.getString("ra_status") : null);
+                intent.putExtra("taskname", object.containsKey("ra_taskname") ? object.getString("ra_taskname") : null);//名称
+                intent.putExtra("taskemcode", object.containsKey("ra_resourcecode") ? object.getString("ra_resourcecode") : null);//发起人
+                intent.putExtra("tasktime", object.containsKey("ra_startdate") ? object.getString("ra_startdate") : null);//发起时间
+                intent.putExtra("performer", CommonUtil.getSharedPreferences(ct, "erp_username"));//处理人编号
+                intent.putExtra("taskcode", object.containsKey("taskcode") ? object.getString("taskcode") : null);//处理人编号
+                intent.putExtra("ra_taskid", object.containsKey("ra_taskid") ? object.getString("ra_taskid") : null);//取回复内容id
+                intent.putExtra("taskid", object.containsKey("ra_id") ? object.getString("ra_id") : null);//编号
+                intent.putExtra("endtime", object.containsKey("ra_enddate") ? object.getString("ra_enddate") : null);
+                startActivity(intent);
+            }
+        });
         loadNetData();
     }
 
-
     private void loadNetData() {
-        String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") + "mobile/common/list.action";
+        Log.i("gongpengming", meetName);
+        String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") + "common/datalist/data.action";
         String emcode = CommonUtil.getSharedPreferences(ct, "erp_username");
-        String caller = "projecttask";
+        String caller = "ResourceAssignment";
         //TODO 添加限制
-        String condition = "taskorschedule='会议任务'";
+        String condition = "ra_resourcecode='" + emcode + "' and " + "taskorschedule='MTask' and " + "ra_taskname='" + meetName + "'";
         final Map<String, Object> param = new HashMap<>();
         param.put("caller", caller);
         param.put("emcode", emcode);
-        param.put("currentMaster", CommonUtil.getSharedPreferences(this, "erp_master"));
         param.put("page", 1);
         param.put("pageSize", 100);
         param.put("condition", condition);
-        param.put("sessionId",  CommonUtil.getSharedPreferences(ct, "sessionId"));
+        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x15, null, null, "post");
+        ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x15, null, null, "get");
     }
 
     class AddMeetTaskAdapter extends BaseAdapter {
+        private JSONArray array;
+
+        public AddMeetTaskAdapter() {
+        }
+
+        public AddMeetTaskAdapter(JSONArray array) {
+            this.array = array;
+        }
+
+        public JSONArray getArray() {
+            return array;
+        }
+
+        public void setArray(JSONArray array) {
+            this.array = array;
+            notifyDataSetChanged();
+        }
+
         @Override
         public int getCount() {
-            return 0;
+            return array == null ? 0 : array.size();
         }
 
         @Override
         public Object getItem(int i) {
-            return null;
+            return array.get(i);
         }
 
         @Override
         public long getItemId(int i) {
-            return 0;
+            return i;
         }
 
         @Override
@@ -123,7 +168,7 @@ public class AddMeetTaskActivity extends BaseActivity {
             if (view == null) {
                 holder = new ViewHolder();
                 view = LayoutInflater.from(ct).inflate(R.layout.item_activity_meettask, null);
-                holder.head_img = (ImageView) view.findViewById(R.id.head_img);
+                holder.head_img = (TextView) view.findViewById(R.id.head_img);
                 holder.name_tv = (TextView) view.findViewById(R.id.name_tv);
                 holder.time_tv = (TextView) view.findViewById(R.id.time_tv);
                 holder.theme_tv = (TextView) view.findViewById(R.id.theme_tv);
@@ -133,13 +178,27 @@ public class AddMeetTaskActivity extends BaseActivity {
             } else {
                 holder = (ViewHolder) view.getTag();
             }
+            JSONObject object = array.getJSONObject(i);
+            bindData(holder, object);
             //绑定数据
-
             return view;
         }
 
+        private void bindData(ViewHolder holder, JSONObject object) {
+            holder.name_tv.setText(object.containsKey("recorder") ? object.getString("recorder") : "");
+            holder.theme_tv.setText(object.containsKey("description") ? object.getString("description") : "");
+            holder.headler_tv.setText("执行人:" + (object.containsKey("recorder") ? object.getString("recorder") : "无"));
+            String name = object.containsKey("recorder") ? object.getString("recorder") : "";
+            if (name != null && name.length() > 0) {
+                String str = name.substring(0, 1);
+                holder.head_img.setText(str == null ? "" : str);
+            }
+            holder.time_tv.setText(object.containsKey("ra_taskname") ? object.getString("ra_taskname") : "");
+            holder.date_tv.setText(object.containsKey("ra_startdate") ? object.getString("ra_startdate") : "" + "-" + (object.containsKey("ra_enddate") ? object.getString("ra_enddate") : ""));
+        }
+
         class ViewHolder {
-            ImageView head_img;
+            TextView head_img;
             TextView name_tv, time_tv, theme_tv, date_tv, headler_tv;
         }
     }

+ 78 - 120
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetingActivity.java

@@ -1,17 +1,13 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.oa;
 
 import android.app.AlertDialog;
-import android.content.ComponentName;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.IBinder;
 import android.os.Message;
-import android.view.Gravity;
+import android.util.Log;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.EditText;
 import android.widget.TextView;
 
@@ -23,19 +19,15 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.MeetUserEntity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.calendar.cons.DPMode;
-import com.xzjmyk.pm.activity.ui.calendar.views.TaskDatePicker;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CodeUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
-import com.xzjmyk.pm.activity.ui.erp.util.CreateRoomUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.DateTimePickerDialog;
-import com.xzjmyk.pm.activity.util.CalendarUtils;
+import com.xzjmyk.pm.activity.ui.erp.view.SwitchView;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
-import com.xzjmyk.pm.activity.xmpp.CoreService;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -46,6 +38,8 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
 
     @ViewInject(R.id.start_tv)
     private TextView start_tv;
+    @ViewInject(R.id.create_ric_sv)
+    private SwitchView create_ric_sv;
     @ViewInject(R.id.end_tv)
     private TextView end_tv;
     @ViewInject(R.id.users_tv)
@@ -61,7 +55,6 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
     @ViewInject(R.id.tag_et)
     private TextView tag_et;
     private AddMeetingActivity ct;
-    private String roomJid;//创建的房间号
     private final int whatSignin = 0x12;
     private final int whatAdd = 0x11;
     private String baseUrl;
@@ -76,21 +69,32 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
                 case whatSignin:
                     JSONObject json = JSON.parseObject(message);
                     if (json.getBoolean("success") != null && json.getBoolean("success")) {
-                        //TODO 创建会议成功  开始创建群组
-                        ToastUtil.showToast(ct, "添加会议成功,正在为你建立会议群");
-                        CreateRoomUtil.getInstance().createRoom(ct, entities, name_et.getText().toString() + "会议群", "创建为了提醒会议成员", new CreateRoomUtil.OnCreateRoomListener() {
-                            @Override
-                            public void result(boolean isOk) {
-                                if (isOk) {
-                                    ToastUtil.showToast(ct, "已经为您的会议建立群组");
-                                    Intent intent = new Intent();
-                                    intent.putExtra("data", "data");
-                                    setResult(0x14, intent);
-                                    progressDialog.dismiss();
-                                    finish();
+                        // 创建会议成功  开始日程
+                        if (create_ric_sv.isChecked()) {
+                            ToastUtil.showToast(ct, "添加会议成功,正在为会议成员创建日程");
+                            CodeUtil.getInstance().getCode(ct, "ProjectTask", new CodeUtil.OnCodeLinstener() {
+                                @Override
+                                public void callBack(String code) {
+                                    sendHttpResquest(code);
                                 }
-                            }
-                        });
+                            });
+                        } else {
+                            ToastUtil.showToast(ct, "添加会议成功!");
+                            endOfActivity();
+                        }
+//                        CreateRoomUtil.getInstance().createRoom(ct, entities, name_et.getText().toString() + "会议群", "创建为了提醒会议成员", new CreateRoomUtil.OnCreateRoomListener() {
+//                            @Override
+//                            public void result(boolean isOk) {
+//                                if (isOk) {
+//                                    ToastUtil.showToast(ct, "已经为您的会议建立群组");
+//                                    Intent intent = new Intent();
+//                                    intent.putExtra("data", "data");
+//                                    setResult(0x14, intent);
+//                                    progressDialog.dismiss();
+//                                    finish();
+//                                }
+//                            }
+//                        });
 //                        createRoom(name_et.getText().toString() + "会议群", "创建为了提醒会议成员");
                     } else {
                         progressDialog.dismiss();
@@ -99,13 +103,17 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
                     break;
                 case whatAdd:
                     break;
+                case 0x15://添加会议日程
+                    progressDialog.dismiss();
+                    ToastUtil.showToast(ct, "为与会人员添加日程成功");
+                    endOfActivity();
+                    break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     progressDialog.dismiss();
                     break;
             }
         }
     };
-    private boolean mBind;
 
 
     @Override
@@ -115,7 +123,6 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
         ViewUtils.inject(this);
         baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
         ct = this;
-        mBind = bindService(CoreService.getIntent(), mServiceConnection, BIND_AUTO_CREATE);
         initView();
     }
 
@@ -133,7 +140,6 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.start_rl://开始时间
-//                showDialog(true);
                 showDialog(start_tv);
                 break;
             case R.id.end_rl://结束时间
@@ -141,12 +147,9 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
                     ToastUtil.showToast(ct, "请先填写开始时间");
                 } else {
                     showDialog(end_tv);
-//                    showDialog(false);
                 }
                 break;
             case R.id.bt_save:
-                progressDialog.show();
-
                 CodeUtil.getInstance().getCode(ct, "Meetingroomapply", new CodeUtil.OnCodeLinstener() {
                     @Override
                     public void callBack(String code) {
@@ -216,6 +219,10 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
             ToastUtil.showToast(this, "参会人员不符要求");
             return;
         }
+        if (start_tv.getText().toString().compareTo(end_tv.getText().toString()) > 0) {
+            ToastUtil.showToast(this, "开始时间不能大于结束时间");
+            return;
+        }
         StringBuilder builder = new StringBuilder();
         StringBuilder builderId = new StringBuilder();
         for (int i = 0; i < entities.size(); i++) {
@@ -228,49 +235,6 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
             }
         }
         doSignin(builder.toString(), builderId.toString(), code);
-        //为与会人员添加日程
-        addRiCheng();
-    }
-
-
-    //TODO 待修改方案
-    private void showDialog(final boolean isStart) {
-        final AlertDialog dialog = new AlertDialog.Builder(this).create();
-        dialog.show();
-        TaskDatePicker picker = new TaskDatePicker(this);
-        picker.setDate(CalendarUtils.getCurrentYear(), CalendarUtils.getCurrentMonth());
-        picker.setMode(DPMode.SINGLE);
-        picker.setOnDatePickedListener(new TaskDatePicker.OnDatePickedListener() {
-            @Override
-            public void onDatePicked(String date) {
-                if (isStart) {
-                    start_tv.setText(date + ":00:00");
-                } else {
-                    String str = start_tv.getText().toString();
-                    String str2 = date + ":00:00";
-                    if (str.compareTo(str2) > 0) {
-                        ToastUtil.showToast(ct, "结束时间不能小于开始时间");
-                    } else {
-                        end_tv.setText(date + ":00:00");
-                    }
-                }
-                dialog.dismiss();
-            }
-        });
-        picker.setOnTimeListener(new TaskDatePicker.OnDatePickedListener() {
-            @Override
-            public void onDatePicked(String date) {
-                if (isStart) {
-                    start_tv.setText(date + ":00:00");
-                } else {
-                    end_tv.setText(date + ":00:00");
-                }
-                dialog.dismiss();
-            }
-        });
-        ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-        dialog.getWindow().setContentView(picker, params);
-        dialog.getWindow().setGravity(Gravity.CENTER);
     }
 
     public void showDialog(final TextView tv) {
@@ -286,6 +250,7 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
 
     //提交表单
     private void doSignin(String gruop, String ids, String code) {
+        progressDialog.show();
         if (baseUrl == null) {
             baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
         }
@@ -318,62 +283,55 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
         ViewUtil.httpSendRequest(ct, url, param, handler, headers, whatSignin, null, null, "post");
     }
 
-    //为与会人员添加日程
-    private void addRiCheng() {
-        if (baseUrl == null) {
-            baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
+    private void sendHttpResquest(String code) {
+        progressDialog.show();
+        StringBuilder resourcename = new StringBuilder();
+        if (entities != null && entities.size() > 0) {
+            for (MeetUserEntity e : entities) {
+                resourcename.append("," + e.getName());
+            }
+            resourcename.delete(0, 1);
         }
-        String url = baseUrl + "common/saveCommon.action";
-        final Map<String, Object> param = new HashMap<>();
-        String formStore = "{" +
-                "\"ag_arrange\":" + "\"" + "陈萍" + "\",\n" +
-//                "\"ag_atid\":" + "\"" + "4633" + "\",\n" +
-                "\"ag_atid\":" + 4633 + ",\n" +
-                "\"ag_type\":" + "\"" + "重要" + "\",\n" +
-                "\"ag_start\":" + "\"" + "2016-07-20 09:16:04" + "\",\n" +
-                "\"ag_end\":" + "\"" + "2016-07-20 09:16:06" + "\",\n" +
-                "\"ag_issecrecy\":" + "\"" + "陈萍" + "\",\n" +
-                "\"ag_title\":" + "\"" + "测试" + "\",\n" +
-                "\"ag_executor\":" + "\"" + "陈萍" + "\",\n" +
-                "\"ag_content\":" + "\"" + "测试123" + "\",\n" +
-//                "\"ag_arrange_id\":" + "\"" + "45" + "\",\n" +
-                "\"ag_executor_id\":" + 1008885 + ",\n" +
-                "\"ag_arrange_id\":" + 45 + ",\n" +
-                "\"AG_PREDICT\":" + "\"\"" + "," +
-                "\"AG_ISMESSAGE\":" + "\"\"" + "," +
-                "\"AG_ISWEEK\":" + "\"\"" +
+        String formStore = "{\n" +
+                "\"taskcode\":\"" + code + "\",\n" +//编号
+                "\"name\":\"" + name_et.getText().toString() + "\",\n" +//名称
+                "\"resourcename\":\"" +//执行人
+                resourcename.toString() +
+                "\",\n" +
+                "\"enddate\":\"" +//结束时间
+                start_tv.getText().toString() +
+                "\",\n" +
+                "\"startdate\":\"" +//结束时间
+                end_tv.getText().toString() +
+                "\",\n" +
+                "\"tasklevel\":\"" +
+                "紧急" +//任务优先级
+                "\",\n" +
+                "\"taskorschedule\":\"" + "Schedule"//任务类型
+                + "\",\n" +
+                "\"custname\":\"" +
+                "" +//联系人
+                "\",\n" +
+                "\"timealert\":\"" +
+                "" +//提醒
+                "\",\n" +
+                "\"description\":\"" +
+                "通知参加" + name_et.getText().toString() + "会议" +
+                "\",\n" +
                 "}";
-        String caller = "Agenda";
-        param.put("caller", caller);
-        param.put("param", "[]");
-        param.put("formStore", formStore);
-        param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
+        String url = Constants.getAppBaseUrl(ct) + "plm/task/addbilltask.action";
+        Map<String, Object> params = new HashMap<>();
+        Log.i("gongpengming", formStore);
+        params.put("formStore", formStore);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, param, handler, headers, whatAdd, null, null, "post");
+        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(ct, url, params, handler, headers, 0x15, null, null, "post");
     }
 
-    private CoreService mXmppService;
-    private ServiceConnection mServiceConnection = new ServiceConnection() {
-
-
-        @Override
-        public void onServiceDisconnected(ComponentName name) {
-            mXmppService = null;
-        }
-
-        @Override
-        public void onServiceConnected(ComponentName name, IBinder service) {
-            mXmppService = ((CoreService.CoreServiceBinder) service).getService();
-        }
-    };
 
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        if (mBind) {
-            unbindService(mServiceConnection);
-        }
     }
 
     @Override

+ 48 - 19
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetDetailsActivity.java

@@ -11,6 +11,7 @@ import android.widget.Button;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
@@ -60,6 +61,7 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
     private int ma_id;
     private String ma_code;
     private JSONObject object;
+    private boolean isPlay = true;
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -80,25 +82,39 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                     break;
                 case SIGNNIN:
                     ToastUtil.showToast(ct, "会议签到成功");
-                    click_btn.setFocusable(false);
-                    click_btn.setClickable(false);
+                    isPlay = false;
                     click_btn.setPressed(true);
                     break;
                 case 0x14:
                     JSONObject numlist = JSON.parseObject(message).getJSONObject("participants");
+                    String code = CommonUtil.getSharedPreferences(ct, "erp_username");
                     int confirmed = 0, unconfirmed = 0;
-                    if (numlist != null && numlist.getJSONArray("confirmed") != null)
-                        confirmed = numlist.getJSONArray("confirmed").size();
-                    if (numlist != null && numlist.getJSONArray("unconfirmed") != null)
+                    if (numlist != null && numlist.getJSONArray("confirmed") != null) {//签到人数
+                        array = numlist.getJSONArray("confirmed");
+                        if (array != null && array.size() > 0) {
+                            confirmed = array.size();
+                            for (int i = 0; i <= confirmed; i++)
+                                if (array.getJSONObject(i).containsKey("EM_CODE") && code.equals(array.getJSONObject(i).getString("EM_CODE"))) {
+                                    isPlay = false;
+                                    click_btn.setPressed(true);
+                                    break;
+                                }
+                        }
+                    }
+                    if (numlist != null && numlist.getJSONArray("unconfirmed") != null) {//未签到人数
+                        array.addAll(numlist.getJSONArray("unconfirmed"));
                         unconfirmed = numlist.getJSONArray("unconfirmed").size();
-                    if ((confirmed + unconfirmed) > 0)
+                    }
+                    if ((confirmed + unconfirmed) > 0) {
                         num_tv.setText("当前签到人数:" + confirmed + "/" + (confirmed + unconfirmed));
+                    }
                     break;
             }
         }
     };
     private MeetEntity entity;
     private int item;
+    private JSONArray array;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -144,7 +160,6 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
         sub_tv.setText(entity.getMa_remark() == null ? "" : entity.getMa_remark());
         tag_tv.setText(entity.getMa_tag() == null ? "" : entity.getMa_tag());
         getPoinfo();
-//        getPoinfo();
         findViewById(R.id.meet_save).setOnClickListener(this);
         findViewById(R.id.num_tag).setOnClickListener(this);
         findViewById(R.id.end_meet_tv).setOnClickListener(this);
@@ -163,16 +178,15 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
         long startLongTime = TimeUtils.f_str_2_long(entity.getMa_starttime());
         oa_meeting_start.setText(TimeUtils.long2str(startLongTime, "MM月dd"));
         oa_meeting_start_date.setText(TimeUtils.long2str(startLongTime, "HH:mm"));
-        String str;
         long endLongTime = TimeUtils.f_str_2_long(entity.getMa_endtime());
         oa_meeting_end.setText(TimeUtils.long2str(startLongTime, "MM月dd"));
         oa_meeting_end_date.setText(TimeUtils.long2str(endLongTime, "HH:mm"));
-        if (System.currentTimeMillis() < startLongTime) {
-            str = "会议未开始";
-        } else if (System.currentTimeMillis() < endLongTime) {
-            str = "会议进行中";
-        } else {
-            str = "会议已结束";
+        String str = entity.getMa_stage();
+        if (str == null) {
+            if (TimeUtils.f_str_2_long(entity.getMa_starttime()) > System.currentTimeMillis())
+                str = "未开始";
+            else
+                str = "进行中";
         }
         status_tv.setText(str);
     }
@@ -274,6 +288,16 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                     ToastUtil.showToast(ct, "你不是会议管理员,没有权限编写会议纪要");
                     return;
                 }
+                StringBuilder name = new StringBuilder();
+                StringBuilder emcome = new StringBuilder();
+                if (array != null && array.size() > 0) {
+                    for (int i = 0; i < array.size(); i++) {
+                        name.append(";" + array.getJSONObject(i).getString("EM_NAME"));
+                        emcome.append(";employee#" + array.getJSONObject(i).getString("EM_CODE"));
+                    }
+                    name.delete(0, 1);
+                    emcome.delete(0, 1);
+                }
                 MeetingDocBean bean = new MeetingDocBean();
                 intent = new Intent(ct, SaveMeetActivity.class);
                 bean.setMd_recorder(user_tv.getText().toString());
@@ -288,12 +312,12 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                 bean.setMd_starttime(entity == null ? TimeUtils.f_long_2_str(System.currentTimeMillis()) : entity.getMa_starttime());
                 bean.setMd_statuscode("ENTERING");
                 bean.setMd_endtime(entity == null ? TimeUtils.f_long_2_str(System.currentTimeMillis()) : entity.getMa_endtime());
-                bean.setMd_group("陈虎");//数据返回
+                bean.setMd_group(name.toString());//数据返回
                 bean.setMd_attachs("");
-                bean.setMd_contents("jil");
-                bean.setMd_groupid("employee#1010913");//数据返回
+                bean.setMd_contents("");
+                bean.setMd_groupid(emcome.toString());//数据返回
                 intent.putExtra("data", bean);
-                intent.putExtra("code",ma_code);
+                intent.putExtra("code", ma_code);
                 startActivity(intent);
                 break;
             case R.id.end_meet_tv:
@@ -304,7 +328,12 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
                 showExitDialog();
                 break;
             case R.id.click_btn:
-                doNetSubmit(SIGNNIN);
+                if (isPlay)
+                    doNetSubmit(SIGNNIN);
+                else {
+                    ToastUtil.showToast(ct, "您已经签到过了");
+                    click_btn.setPressed(true);
+                }
                 break;
             case R.id.location_tag://点击重新定位
                 getPoinfo();

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetingActivity.java

@@ -138,6 +138,7 @@ public class MeetingActivity extends BaseActivity {
                 MeetEntity entity = adapter.getData().get((i - 1 < 0 ? 0 : (i - 1)));
                 intent.putExtra("data", entity);
                 intent.putExtra("item", (i - 1 < 0 ? 0 : (i - 1)));
+
                 startActivityForResult(intent, requestCode);
             }
         });

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java

@@ -42,14 +42,14 @@ public class SaveMeetActivity extends BaseActivity {
             String message = (String) msg.getData().get("result");
             if (msg.what == 0x11) {
                 JSONObject json = JSON.parseObject(message);
-                if (!json.containsKey("success") && json.getBoolean("success")) {
+                if (json.containsKey("success") && json.getBoolean("success")) {
                     updataCode();
                 } else {
                     ToastUtil.showToast(SaveMeetActivity.this, "保存会议纪要失败");
                 }
             } else if (msg.what == 0x12) {
                 JSONObject json = JSON.parseObject(message);
-                if (!json.containsKey("success") && json.getBoolean("success")) {
+                if (json.containsKey("success") && json.getBoolean("success")) {
                     ToastUtil.showToast(SaveMeetActivity.this, "保存会议纪要成功");
                     finish();
                 } else {

+ 24 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/UserSelectActivity.java

@@ -6,6 +6,7 @@ import android.os.Handler;
 import android.os.Message;
 import android.text.Editable;
 import android.text.TextWatcher;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -52,8 +53,8 @@ public class UserSelectActivity extends BaseActivity {
     private boolean isNet = false;
     private DBManager manager;
     private MeetSelectAdapter adapter;
+    private ArrayList<MeetUserEntity> entities=new ArrayList<>();
     private Handler handler = new Handler() {
-
         @Override
         public void handleMessage(Message msg) {
             String message = msg.getData().getString("result");
@@ -62,7 +63,6 @@ public class UserSelectActivity extends BaseActivity {
                 case WHAT_LOAD:
                     JSONArray array = JSON.parseObject(message).getJSONArray("datas");//获取到数据
                     if (array == null || array.size() <= 0) return;
-                    ArrayList<MeetUserEntity> users = new ArrayList<>();
                     MeetUserEntity entity = null;
                     String code = null;//em_code
                     String name = null;//em_name
@@ -77,24 +77,21 @@ public class UserSelectActivity extends BaseActivity {
                         entity.setEmCode(code == null ? "" : code);
                         entity.setName(name == null ? "" : name);
                         entity.setImId(imId == null ? "" : imId);
-                        users.add(entity);
+                        entities.add(entity);
                     }
-                    beans = users;
-                    if (users.size() > 0) {
+
+                    if (entities.size() > 0) {
                         if (adapter == null) {
-                            adapter = new MeetSelectAdapter(users);
+                            adapter = new MeetSelectAdapter(entities);
                             listview.setAdapter(adapter);
                         } else
-                            adapter.setUsers(users);
+                            adapter.setUsers(entities);
                     }
                     break;
             }
 
         }
     };
-    private ArrayList<MeetUserEntity> beans;
-    private ArrayList<MeetUserEntity> chche;
-
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -106,7 +103,6 @@ public class UserSelectActivity extends BaseActivity {
     }
 
     private void initView() {
-        chche = new ArrayList<>();
         View view = LayoutInflater.from(this).inflate(R.layout.view_empty, null);
         listview.setEmptyView(view);
         adapter = new MeetSelectAdapter();
@@ -125,10 +121,25 @@ public class UserSelectActivity extends BaseActivity {
             public void afterTextChanged(Editable editable) {
                 String strChche = editable.toString();
                 //TODO 正则
-                if (beans == null || beans.size() <= 0) return;
-                for (MeetUserEntity e : beans) {
+                Log.i("gongpengming", strChche);
+                if (entities == null) {
+                    Log.i("gongpengming", "beans==null");
+                } else {
+                    Log.i("gongpengming", "beans!=null");
+                }
+                if (entities.size() <= 0) {
+                    Log.i("gongpengming", "beans.size() <= 0");
+                } else {
+                    Log.i("gongpengming", "beans.size() > 0");
+                }
+                if (entities == null || entities.size() <= 0) return;
+                ArrayList<MeetUserEntity> chche = new ArrayList<>();
+                for (MeetUserEntity e : entities) {
                     if (getResult(e.getName() + e.getImId(), strChche)) {
+                        Log.i("gongpengming", "一样的 " + e.getName() + e.getImId());
                         chche.add(e);
+                    } else {
+                        Log.i("gongpengming", "这个是不一样的 " + e.getName() + e.getImId());
                     }
                 }
                 adapter.setUsers(chche);
@@ -206,7 +217,6 @@ public class UserSelectActivity extends BaseActivity {
     }
 
     private void getDataByDB() {  //企业通讯录好友
-        ArrayList<MeetUserEntity> entities = new ArrayList<>();
         if (manager == null)
             manager = new DBManager(ct);
         String master = CommonUtil.getSharedPreferences(ct, "erp_master"); //待优化   每次都 读取文件耗性能

+ 4 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/OutofficeFragment.java

@@ -123,6 +123,7 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
                 double latitude = (double) map.get("latitude");
                 double longitude = (double) map.get("lontitude");
                 point = new LatLng(latitude, longitude);
+                baseAddr = map.get("poi") + "";
                 BaiduMapUtil.getInstence().setMapViewPoint(mapView, point);
             }
         });
@@ -149,6 +150,8 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
         ViewUtil.httpSendRequest(ct, url, param, handler, headers, WHAT_LOAD, null, null, "get");
     }
 
+    String baseAddr;
+
     @Override
     public void onDestroy() {
         super.onDestroy();
@@ -161,7 +164,7 @@ public class OutofficeFragment extends EasyFragment implements View.OnClickListe
                 boolean isClick = CommonUtil.getSharedPreferencesBoolean(ct, OutofficeSetActivity.OA_LOCATION_IS);
                 if (isClick) {
                     Intent i = new Intent(getActivity(), LocationMapActivity.class);
-                    i.putExtra("addr", out_add_name_tv.getText() == null ? "" : out_add_name_tv.getText().toString());
+                    i.putExtra("addr", baseAddr == null ? "" : baseAddr);
                     String location = CommonUtil.getSharedPreferences(ct, OutofficeSetActivity.OA_LOCATION_DISTANCE);
                     if (location == null) location = "600米";
                     StringBuilder builder = new StringBuilder(location);

+ 1 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninClickFragment.java

@@ -7,6 +7,7 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.support.v7.app.AlertDialog;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -111,15 +112,6 @@ public class SigninClickFragment extends EasyFragment implements View.OnClickLis
                     if (JSON.parseObject(message).getBoolean("success")) {//返回正确
                         ToastUtil.showToast(ct, "签到成功");
                         signinOK();
-                        //TODO 将数据提交到界面
-//                        if (adapter == null || adapter.getBeans() == null) return;
-//                        for (int i = 0; i < adapter.getBeans().size(); i++) {
-//                            if (adapter.getBeans().get(i).signin == null) {
-//                                adapter.getBeans().get(i).signin = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
-//                                break;
-//                            }
-//                        }
-//                        adapter.notifyDataSetChanged();
                     }
                     break;
                 default:
@@ -134,7 +126,6 @@ public class SigninClickFragment extends EasyFragment implements View.OnClickLis
     private String[] timeList;
     private AlertDialog.Builder builder;
 
-
     @Override
     protected int inflateLayoutId() {
         return R.layout.fragment_signin;

+ 15 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/CalendarView.java

@@ -341,17 +341,23 @@ public class CalendarView extends View implements View.OnTouchListener {
             downDate = calendar.getTime();
         }
         //判断点击的在当月日期里面
-        invalidate();
+//        invalidate();
     }
 
+    float x;
+    float y;
 
     @Override
     public boolean onTouch(View v, MotionEvent event) {
         switch (event.getAction()) {
             case MotionEvent.ACTION_DOWN:
-                setSelectedDateByCoor(event.getX(), event.getY());
+                x = event.getX();
+                y = event.getY();
                 break;
             case MotionEvent.ACTION_UP:
+                if (Math.abs(event.getX() - x) > 10 || Math.abs(event.getY() - y) > 10)
+                    return true;
+                setSelectedDateByCoor(event.getX(), event.getY());
                 if (downDate != null) {
                     selectedStartDate = selectedEndDate = downDate;
                     //响应监听事件
@@ -403,6 +409,7 @@ public class CalendarView extends View implements View.OnTouchListener {
         public String[] weekText = {"日", "一", "二", "三", "四", "五", "六"};
 
         public void init() {
+
             float temp = height / 7f;
             monthHeight = 0;//(float) ((temp + temp * 0.3f) * 0.6);
             weekHeight = (float) ((temp + temp * 0.3f) * 0.7);
@@ -427,6 +434,7 @@ public class CalendarView extends View implements View.OnTouchListener {
             weekPaint.setTextSize(weekTextSize);
             weekPaint.setTypeface(Typeface.DEFAULT_BOLD);
             datePaint = new Paint();
+
             datePaint.setColor(textColor);
             datePaint.setAntiAlias(true);
             circlePaint = new Paint();
@@ -458,6 +466,11 @@ public class CalendarView extends View implements View.OnTouchListener {
             cellBgPaint.setAntiAlias(true);
             cellBgPaint.setStyle(Paint.Style.FILL);
             cellBgPaint.setColor(cellSelectedColor);
+            datePaint.setFakeBoldText(false);
+            weekPaint.setFakeBoldText(false);
+            borderPaint.setFakeBoldText(false);
+            cellBgPaint.setFakeBoldText(false);
+            monthPaint.setFakeBoldText(false);
         }
     }
 }

+ 17 - 16
WeiChat/src/main/res/layout/activity_oa.xml

@@ -124,6 +124,18 @@
                         android:textColor="@color/white" />
                 </LinearLayout>
 
+
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="3dp" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
                 <LinearLayout
                     android:id="@+id/attendance_ll"
                     android:layout_width="0dp"
@@ -135,7 +147,6 @@
 
                     <Button
                         style="@style/oa_btn_style"
-
                         android:background="@drawable/oa_5" />
 
                     <TextView
@@ -146,17 +157,6 @@
                         android:textColor="@color/white" />
                 </LinearLayout>
 
-            </LinearLayout>
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="3dp" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
                 <LinearLayout
                     android:id="@+id/ll_subject"
                     android:layout_width="0dp"
@@ -187,7 +187,8 @@
                     android:layout_weight="1"
                     android:clickable="true"
                     android:gravity="center"
-                    android:orientation="vertical">
+                    android:orientation="vertical"
+                    android:visibility="gone">
 
                     <Button
                         style="@style/oa_btn_style"
@@ -208,7 +209,8 @@
                     android:layout_weight="1"
                     android:clickable="true"
                     android:gravity="center"
-                    android:orientation="vertical">
+                    android:orientation="vertical"
+                    android:visibility="gone">
 
                     <Button
                         style="@style/oa_btn_style"
@@ -439,13 +441,12 @@
                 android:background="@color/item_line" />
 
             <ImageView
-                android:src="@drawable/filter"
                 android:id="@+id/ok_scale"
                 android:layout_width="0dp"
                 android:layout_height="22dp"
                 android:layout_weight="1"
                 android:gravity="center"
-             />
+                android:src="@drawable/filter" />
         </LinearLayout>
 
         <View

+ 4 - 2
WeiChat/src/main/res/layout/item_activity_meettask.xml

@@ -6,11 +6,13 @@
     android:orientation="vertical"
     android:padding="10dp">
 
-    <ImageView
+    <TextView
         android:id="@+id/head_img"
         android:layout_width="80dp"
         android:layout_height="80dp"
-        android:layout_marginRight="10dp" />
+        android:layout_marginRight="10dp"
+        android:gravity="center"
+        android:textSize="20sp" />
 
     <TextView
         android:id="@+id/name_tv"