Browse Source

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

FANGLH 9 years ago
parent
commit
c8e1751bed

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/DatabaseManager.java

@@ -30,7 +30,7 @@ public class DatabaseManager {
     }
     }
 
 
     public synchronized SQLiteDatabase openDatabase() {
     public synchronized SQLiteDatabase openDatabase() {
-        if (mOpenCounter.incrementAndGet() == 1 || mDatabase == null || !mDatabase.isOpen()) {
+        if (mOpenCounter.incrementAndGet() == 1 || mDatabase == null) {
             mDatabase = mDatabaseHelper.getWritableDatabase();
             mDatabase = mDatabaseHelper.getWritableDatabase();
         }
         }
         return mDatabase;
         return mDatabase;

+ 139 - 110
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessB2BActivity.java

@@ -54,9 +54,11 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map;
 
 
-public class ProcessB2BActivity extends BaseActivity implements View.OnClickListener ,RecognizerDialogListener {
-
-
+/**
+ * 不确定问题的出现与否,没有删除所有分页写法,只是屏蔽了上拉事件
+ * update Bitliker by 17/4/10
+ */
+public class ProcessB2BActivity extends BaseActivity implements View.OnClickListener, RecognizerDialogListener {
     @ViewInject(R.id.edt_search)
     @ViewInject(R.id.edt_search)
     ClearEditText mEditText;
     ClearEditText mEditText;
     @ViewInject(R.id.voice_search_iv)
     @ViewInject(R.id.voice_search_iv)
@@ -77,18 +79,42 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
     private ImageView iv_back;
     private ImageView iv_back;
 
 
     private ProcessAdapter mAdapter;
     private ProcessAdapter mAdapter;
-    private JSONArray array = new JSONArray();
+    private JSONArray arrayUn = new JSONArray();
+    private JSONArray arrayRe = new JSONArray();
+    private JSONArray arrayMe = new JSONArray();
 
 
     private int tab_type = 1;
     private int tab_type = 1;
     private int page = 1;
     private int page = 1;
+    private int pageDone = 1;
     private final int SUSSCESS_un = 1;
     private final int SUSSCESS_un = 1;
     private final int SUSSCESS_already = 2;
     private final int SUSSCESS_already = 2;
     private final int SUSSCESS_me = 3;
     private final int SUSSCESS_me = 3;
-    private int exceptionCount=0;//
+    private int exceptionCount = 0;//
 
 
     @Override
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         super.onActivityResult(requestCode, resultCode, data);
+        if (data == null) return;
+        String delete_succeed = data.getStringExtra("delete_succeed");
+        if (!StringUtils.isEmpty(delete_succeed) && delete_succeed.equals("delete_succeed")) {
+
+            if (requestCode == 0x322 && resultCode == PlatWDdetailyActivity.DELETE_SUCCEED) {
+                try {
+                    arrayUn.remove(mPosition);
+                    mAdapter.notifyDataSetChanged();
+                } catch (Exception e) {
+                    loadProcessToDo(page);
+                }
+            } else if (requestCode == 0x321 && resultCode == 0x328) {
+                try {
+                    arrayRe.remove(mPosition);
+                    mAdapter.notifyDataSetChanged();
+                } catch (Exception e) {
+                    loadProcesstoAlreadyDo(pageDone);
+                }
+
+            }
+        }
     }
     }
 
 
     private Handler mHandler = new Handler() {
     private Handler mHandler = new Handler() {
@@ -99,22 +125,21 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
             mList.onRefreshComplete();
             mList.onRefreshComplete();
             switch (msg.what) {
             switch (msg.what) {
                 case SUSSCESS_un:
                 case SUSSCESS_un:
-
                     itemArray = JSON.parseObject(result).getJSONArray("data");
                     itemArray = JSON.parseObject(result).getJSONArray("data");
-                    if (page == 1) array.clear();
-                    array.addAll(itemArray);
-                    //array = CommonUtil.sortJsonArray(array);//排序
+                    if (page == 1) arrayUn.clear();
+                    arrayUn.addAll(itemArray);
+//                    array = CommonUtil.sortJsonArray(array);//排序
 
 
                     if (mAdapter == null) {
                     if (mAdapter == null) {
-                        mAdapter = new ProcessAdapter(ct, array);
+                        mAdapter = new ProcessAdapter(ct, arrayUn);
                         mList.setAdapter(mAdapter);
                         mList.setAdapter(mAdapter);
                     } else {
                     } else {
                         mAdapter.notifyDataSetChanged();
                         mAdapter.notifyDataSetChanged();
                     }
                     }
-                    if (array.size() == 0) {
+                    if (arrayUn.size() == 0) {
                         mEmptyLayout.showEmpty();
                         mEmptyLayout.showEmpty();
                     }
                     }
-                    if (currentId!=0){
+                    if (currentId != 0) {
                         mList.getRefreshableView().setSelection(currentId);
                         mList.getRefreshableView().setSelection(currentId);
                     }
                     }
                     ToastMessage("数据刷新完毕");
                     ToastMessage("数据刷新完毕");
@@ -123,19 +148,18 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                 case SUSSCESS_already:
                 case SUSSCESS_already:
                     itemArray = JSON.parseObject(result).getJSONArray("data");
                     itemArray = JSON.parseObject(result).getJSONArray("data");
                     if (page == 1)
                     if (page == 1)
-                    array.clear();
-                    array.addAll(itemArray);
+                        arrayRe.clear();
+                    arrayRe.addAll(itemArray);
                     if (mAdapter == null) {
                     if (mAdapter == null) {
-                        mAdapter = new ProcessAdapter(ct, array);
+                        mAdapter = new ProcessAdapter(ct, arrayRe);
                         mList.setAdapter(mAdapter);
                         mList.setAdapter(mAdapter);
                     } else {
                     } else {
                         mAdapter.notifyDataSetChanged();
                         mAdapter.notifyDataSetChanged();
                     }
                     }
-                    if (array.size() == 0) {
-
+                    if (arrayRe.size() == 0) {
                         mEmptyLayout.showEmpty();
                         mEmptyLayout.showEmpty();
                     }
                     }
-                    if (currentId!=0){
+                    if (currentId != 0) {
                         mList.getRefreshableView().setSelection(currentId);
                         mList.getRefreshableView().setSelection(currentId);
                     }
                     }
                     ToastMessage("数据刷新完毕");
                     ToastMessage("数据刷新完毕");
@@ -144,19 +168,19 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                 case SUSSCESS_me:
                 case SUSSCESS_me:
                     itemArray = JSON.parseObject(result).getJSONArray("data");
                     itemArray = JSON.parseObject(result).getJSONArray("data");
                     // if (page == 1)
                     // if (page == 1)
-                    array.clear();
-                    array.addAll(itemArray);
+                    arrayMe.clear();
+                    arrayMe.addAll(itemArray);
                     if (mAdapter == null) {
                     if (mAdapter == null) {
-                        mAdapter = new ProcessAdapter(ct, array);
+                        mAdapter = new ProcessAdapter(ct, arrayMe);
                         mList.setAdapter(mAdapter);
                         mList.setAdapter(mAdapter);
                     } else {
                     } else {
                         mAdapter.notifyDataSetChanged();
                         mAdapter.notifyDataSetChanged();
                     }
                     }
 
 
-                    if (array.size() == 0) {
+                    if (arrayMe.size() == 0) {
                         mEmptyLayout.showEmpty();
                         mEmptyLayout.showEmpty();
                     }
                     }
-                    if (currentId!=0){
+                    if (currentId != 0) {
                         mList.getRefreshableView().setSelection(currentId);
                         mList.getRefreshableView().setSelection(currentId);
                     }
                     }
                     ToastMessage("数据加载完成");
                     ToastMessage("数据加载完成");
@@ -166,7 +190,7 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                     LogUtil.d(TAG, result);
                     LogUtil.d(TAG, result);
                     exceptionCount++;
                     exceptionCount++;
                     try {
                     try {
-                        if (exceptionCount<=3){
+                        if (exceptionCount <= 3) {
                             ToastMessage(result);
                             ToastMessage(result);
                             ViewUtil.ct = ct;
                             ViewUtil.ct = ct;
                             ViewUtil.LoginERPTask(ct, mHandler, 0x16);
                             ViewUtil.LoginERPTask(ct, mHandler, 0x16);
@@ -201,13 +225,13 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
         ViewUtils.inject(this);
         ViewUtils.inject(this);
         initView();
         initView();
         initData();
         initData();
-      
+
     }
     }
 
 
     private void initData() {
     private void initData() {
-        if (CommonUtil.isNetWorkConnected(mContext)){
+        if (CommonUtil.isNetWorkConnected(mContext)) {
             loadProcessToDo(page);
             loadProcessToDo(page);
-        }else{
+        } else {
             mEmptyLayout.setErrorMessage("网络未连接!");
             mEmptyLayout.setErrorMessage("网络未连接!");
             mEmptyLayout.showError();
             mEmptyLayout.showError();
         }
         }
@@ -234,16 +258,18 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
         tv_process_un.setOnClickListener(this);
         tv_process_un.setOnClickListener(this);
         tv_process_un.setSelected(true);
         tv_process_un.setSelected(true);
         iv_back.setOnClickListener(this);
         iv_back.setOnClickListener(this);
-        mList.setMode(PullToRefreshBase.Mode.BOTH);
+        mList.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
         mList.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
         mList.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
             @Override
             @Override
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                 switch (tab_type) {
                 switch (tab_type) {
                     case 1:
                     case 1:
+                        page = 1;
                         loadProcessToDo(page);
                         loadProcessToDo(page);
                         break;
                         break;
                     case 2:
                     case 2:
-                        loadProcesstoAlreadyDo(page);
+                        pageDone = 1;
+                        loadProcesstoAlreadyDo(pageDone);
                         break;
                         break;
                     case 3:
                     case 3:
                         loadProcessAlreadyLaunch(page);
                         loadProcessAlreadyLaunch(page);
@@ -253,13 +279,14 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
 
 
             @Override
             @Override
             public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
             public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
-                page++;
                 switch (tab_type) {
                 switch (tab_type) {
                     case 1:
                     case 1:
+                        page++;
                         loadProcessToDo(page);
                         loadProcessToDo(page);
                         break;
                         break;
                     case 2:
                     case 2:
-                        loadProcesstoAlreadyDo(page);
+                        pageDone++;
+                        loadProcesstoAlreadyDo(pageDone);
                         break;
                         break;
                     case 3:
                     case 3:
                         loadProcessAlreadyLaunch(page);
                         loadProcessAlreadyLaunch(page);
@@ -274,8 +301,9 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 ProcessAdapter.ViewModel model = (ProcessAdapter.ViewModel) view.getTag();
                 ProcessAdapter.ViewModel model = (ProcessAdapter.ViewModel) view.getTag();
                 mPosition = (int) parent.getItemIdAtPosition(position);
                 mPosition = (int) parent.getItemIdAtPosition(position);
-                currentId=position;
-                LogUtil.d(TAG,position+"");
+                currentId = position;
+                LogUtil.d(TAG, position + "");
+                LogUtil.d(TAG, mPosition + "");
                 String title = "";
                 String title = "";
                 String url = "";
                 String url = "";
                 String doc_type = "";
                 String doc_type = "";
@@ -284,7 +312,7 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                 switch (tab_type) {
                 switch (tab_type) {
                     case 1:
                     case 1:
                         title = "待审批";
                         title = "待审批";
-                        String codeValue=model.codeValue;
+                        String codeValue = model.codeValue;
 //                        if ("transferprocess".equals(model.typecode)||"process".equals(model.typecode) || "".equals(model.typecode)) {
 //                        if ("transferprocess".equals(model.typecode)||"process".equals(model.typecode) || "".equals(model.typecode)) {
 //                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID;
 //                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID;
 //                        } else if ("procand".equals(model.typecode)) {
 //                        } else if ("procand".equals(model.typecode)) {
@@ -292,50 +320,51 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
 //                        } else if ("unprocess".equals(model.typecode)) {
 //                        } else if ("unprocess".equals(model.typecode)) {
 //                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
 //                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
 //                        }
 //                        }
-                        if (ListUtils.isEmpty(array)) return;
-                        doc_type = array.getJSONObject(mPosition).getString("jp_name");
-                        detail_id = array.getJSONObject(mPosition).getInteger("jp_codevalue");
-                        deal_id = array.getJSONObject(mPosition).getInteger("jp_id");
-                        if (!StringUtils.isEmpty(doc_type) && "工作日报".equals(doc_type)){
+                        if (ListUtils.isEmpty(arrayUn)) return;
+                        doc_type = arrayUn.getJSONObject(mPosition).getString("jp_name");
+                        detail_id = arrayUn.getJSONObject(mPosition).getInteger("jp_codevalue");
+                        deal_id = arrayUn.getJSONObject(mPosition).getInteger("jp_id");
+                        if (!StringUtils.isEmpty(doc_type) && "工作日报".equals(doc_type)) {
                             startActivityForResult(new Intent(ProcessB2BActivity.this, PlatWDdetailyActivity.class)
                             startActivityForResult(new Intent(ProcessB2BActivity.this, PlatWDdetailyActivity.class)
-                                    .putExtra("fromwhere", "examine_and_approve")
-                                    .putExtra("doc_type", doc_type)
-                                    .putExtra("deal_id", deal_id)
-                                    .putExtra("detail_id",detail_id)
-                                    .putExtra("deal_type", 1)
-                                    ,0x322); //TODO 你根据这个0x322 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据,resultcode == 0x41701
-                        }else {
+                                            .putExtra("fromwhere", "examine_and_approve")
+                                            .putExtra("doc_type", doc_type)
+                                            .putExtra("deal_id", deal_id)
+                                            .putExtra("detail_id", detail_id)
+                                            .putExtra("deal_type", 1)
+                                    , 0x322); //TODO 你根据这个0x322 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据,resultcode == 0x41701
+                        } else {
                             startActivityForResult(new Intent(ProcessB2BActivity.this, FormDetailActivity.class)
                             startActivityForResult(new Intent(ProcessB2BActivity.this, FormDetailActivity.class)
-                                    .putExtra("fromwhere", "examine_and_approve")
-                                    .putExtra("doc_type", doc_type)
-                                    .putExtra("deal_id", deal_id)
-                                    .putExtra("detail_id",detail_id)
-                                    .putExtra("deal_type",1)
-                                    ,0x321); // TODO 你根据这个0x321 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
+                                            .putExtra("fromwhere", "examine_and_approve")
+                                            .putExtra("doc_type", doc_type)
+                                            .putExtra("deal_id", deal_id)
+                                            .putExtra("detail_id", detail_id)
+                                            .putExtra("deal_type", 1)
+                                    , 0x321); // TODO 你根据这个0x321 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
                         }
                         }
 
 
-                        
+
                         break;
                         break;
                     case 2:
                     case 2:
-                        doc_type = itemArray.getJSONObject(mPosition).getString("jn_name");
-                        detail_id = itemArray.getJSONObject(mPosition).getInteger("jp_nodeid");
-                        deal_id = itemArray.getJSONObject(mPosition).getInteger("jp_keyvalue");
-                        if (!StringUtils.isEmpty(doc_type) && "工作日报".equals(doc_type)){
+                        if (ListUtils.isEmpty(arrayRe)) return;
+                        doc_type = arrayRe.getJSONObject(mPosition).getString("jn_name");
+                        detail_id = arrayRe.getJSONObject(mPosition).getInteger("jp_nodeid");
+                        deal_id = arrayRe.getJSONObject(mPosition).getInteger("jp_keyvalue");
+                        if (!StringUtils.isEmpty(doc_type) && "工作日报".equals(doc_type)) {
                             startActivityForResult(new Intent(ProcessB2BActivity.this, PlatWDdetailyActivity.class)
                             startActivityForResult(new Intent(ProcessB2BActivity.this, PlatWDdetailyActivity.class)
-                                    .putExtra("fromwhere", "examine_and_approve")
-                                    .putExtra("doc_type", doc_type)
-                                    .putExtra("deal_id", deal_id)
-                                    .putExtra("detail_id",detail_id)
-                                    .putExtra("deal_type", 2)
-                                    ,0x322); // TODO 你根据这个0x322 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
-                        }else {
+                                            .putExtra("fromwhere", "examine_and_approve")
+                                            .putExtra("doc_type", doc_type)
+                                            .putExtra("deal_id", deal_id)
+                                            .putExtra("detail_id", detail_id)
+                                            .putExtra("deal_type", 2)
+                                    , 0x322); // TODO 你根据这个0x322 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
+                        } else {
                             startActivityForResult(new Intent(ProcessB2BActivity.this, FormDetailActivity.class)
                             startActivityForResult(new Intent(ProcessB2BActivity.this, FormDetailActivity.class)
-                                    .putExtra("fromwhere", "examine_and_approve")
-                                    .putExtra("doc_type", doc_type)
-                                    .putExtra("deal_id", deal_id)
-                                    .putExtra("detail_id",detail_id)
-                                    .putExtra("deal_type", 2)
-                                    ,0x321); // TODO 你根据这个0x321 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
+                                            .putExtra("fromwhere", "examine_and_approve")
+                                            .putExtra("doc_type", doc_type)
+                                            .putExtra("deal_id", deal_id)
+                                            .putExtra("detail_id", detail_id)
+                                            .putExtra("deal_type", 2)
+                                    , 0x321); // TODO 你根据这个0x321 我的详情界面审批操作返回后这里改变列表数据状态,或者remove该条单据
                         }
                         }
                         break;
                         break;
                     case 3:
                     case 3:
@@ -352,7 +381,6 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
         mEditText.addTextChangedListener(new TextWatcher() {
         mEditText.addTextChangedListener(new TextWatcher() {
             @Override
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
             }
             }
 
 
             @Override
             @Override
@@ -375,7 +403,7 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
             }
             }
         });
         });
 
 
-        final VoiceToWord voice = new VoiceToWord(ProcessB2BActivity.this,"534e3fe2");
+        final VoiceToWord voice = new VoiceToWord(ProcessB2BActivity.this, "534e3fe2");
         voice.setRecognizerDialogListener(this);  //自己调用自己
         voice.setRecognizerDialogListener(this);  //自己调用自己
         voice_search.setOnClickListener(new View.OnClickListener() {
         voice_search.setOnClickListener(new View.OnClickListener() {
             @Override
             @Override
@@ -408,7 +436,7 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                 tv_process_un.setSelected(false);
                 tv_process_un.setSelected(false);
                 tv_process_already.setSelected(true);
                 tv_process_already.setSelected(true);
                 tv_process_me.setSelected(false);
                 tv_process_me.setSelected(false);
-                loadProcesstoAlreadyDo(page);
+                loadProcesstoAlreadyDo(pageDone);
 
 
                 break;
                 break;
             case R.id.tv_process_me:
             case R.id.tv_process_me:
@@ -432,12 +460,12 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
     private void loadProcessToDo(int page) {
     private void loadProcessToDo(int page) {
         String url = ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAuditTodo;
         String url = ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAuditTodo;
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
-        params.put("emuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(),"b2b_uu"));
-        params.put("enuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(),"companyEnUu"));
-        params.put("count", "10");
+        params.put("emuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "b2b_uu"));
+        params.put("enuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "companyEnUu"));
+        params.put("count", "1000");
         params.put("page", page);
         params.put("page", page);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie",ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+        headers.put("Cookie", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_un, null, null, "get");
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_un, null, null, "get");
 
 
     }
     }
@@ -446,12 +474,12 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
     private void loadProcesstoAlreadyDo(int page) {
     private void loadProcesstoAlreadyDo(int page) {
         String url = ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAuditDone;
         String url = ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAuditDone;
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
-        params.put("emuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(),"b2b_uu"));
-        params.put("enuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(),"companyEnUu"));
-        params.put("count", "10");
+        params.put("emuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "b2b_uu"));
+        params.put("enuu", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "companyEnUu"));
+        params.put("count", "1000");
         params.put("page", page);
         params.put("page", page);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie",ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+        headers.put("Cookie", ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_already, null, null, "get");
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_already, null, null, "get");
 
 
     }
     }
@@ -459,9 +487,9 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
     private void loadProcessAlreadyLaunch(int page) {
     private void loadProcessAlreadyLaunch(int page) {
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyLaunch.action";
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyLaunch.action";
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
-        params.put("count", String.valueOf(page*30));
+        params.put("count", String.valueOf(page * 30));
         params.put("page", 1);
         params.put("page", 1);
-        params.put("isMobile","1");
+        params.put("isMobile", "1");
         params.put("_do", "1");
         params.put("_do", "1");
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
@@ -556,8 +584,8 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                     Long jp_launchtime = jsonArray.getJSONObject(position).getLong("jp_launchtime");
                     Long jp_launchtime = jsonArray.getJSONObject(position).getLong("jp_launchtime");
                     String jp_status = "待审批";
                     String jp_status = "待审批";
                     String jp_typecode = jsonArray.getJSONObject(position).getString("typecode");
                     String jp_typecode = jsonArray.getJSONObject(position).getString("typecode");
-                    String jp_master=jsonArray.getJSONObject(position).getString("CURRENTMASTER");
-                    String codevalue=jsonArray.getJSONObject(position).getString("jp_codevalue");
+                    String jp_master = jsonArray.getJSONObject(position).getString("CURRENTMASTER");
+                    String codevalue = jsonArray.getJSONObject(position).getString("jp_codevalue");
 
 
                     model.name.setText(jp_launchername + "的" + jp_name);
                     model.name.setText(jp_launchername + "的" + jp_name);
                     if (jp_launchtime != null) {
                     if (jp_launchtime != null) {
@@ -569,8 +597,8 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                     model.status.setText(jp_status);
                     model.status.setText(jp_status);
                     model.JP_NODEID = JP_NODEID;
                     model.JP_NODEID = JP_NODEID;
                     model.typecode = jp_typecode;
                     model.typecode = jp_typecode;
-                    model.master=jp_master;
-                    model.codeValue=codevalue;
+                    model.master = jp_master;
+                    model.codeValue = codevalue;
                     break;
                     break;
                 case 2:
                 case 2:
 //                {
 //                {
@@ -592,10 +620,10 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                     String jn_dealtime = jsonArray.getJSONObject(position).getString("jn_dealtime");//JP_LAUNCHTIME
                     String jn_dealtime = jsonArray.getJSONObject(position).getString("jn_dealtime");//JP_LAUNCHTIME
                     String jn_dealresult = jsonArray.getJSONObject(position).getString("jn_dealresult");
                     String jn_dealresult = jsonArray.getJSONObject(position).getString("jn_dealresult");
                     String doc_name = jsonArray.getJSONObject(position).getString("jp_launchername");
                     String doc_name = jsonArray.getJSONObject(position).getString("jp_launchername");
-                    model.codeValue=jsonArray.getJSONObject(position).getString("jp_keyvalue");
+                    model.codeValue = jsonArray.getJSONObject(position).getString("jp_keyvalue");
                     model.name.setText(doc_name + "的" + jp_name);
                     model.name.setText(doc_name + "的" + jp_name);
-                    if (jn_dealmanname!=null)
-                    model.date.setText(DateFormatUtil.getFormatDate(Long.valueOf(jn_dealtime)));
+                    if (jn_dealmanname != null)
+                        model.date.setText(DateFormatUtil.getFormatDate(Long.valueOf(jn_dealtime)));
                     if (!StringUtils.isEmpty(jn_dealresult)) {
                     if (!StringUtils.isEmpty(jn_dealresult)) {
                         if ("不同意".equals(jn_dealresult)) {
                         if ("不同意".equals(jn_dealresult)) {
                             CommonUtil.textSpanForStyle(model.status, "已审批(" + jn_dealresult + ")",
                             CommonUtil.textSpanForStyle(model.status, "已审批(" + jn_dealresult + ")",
@@ -621,15 +649,16 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                         String status = jsonArray.getJSONObject(position).getString("JP_STATUS");
                         String status = jsonArray.getJSONObject(position).getString("JP_STATUS");
                         String nodename = jsonArray.getJSONObject(position).getString("JP_NODEDEALMANNAME");
                         String nodename = jsonArray.getJSONObject(position).getString("JP_NODEDEALMANNAME");
                         JP_NODEID = jsonArray.getJSONObject(position).getString("JP_NODEID");
                         JP_NODEID = jsonArray.getJSONObject(position).getString("JP_NODEID");
-                        String codename= jsonArray.getJSONObject(position).getString("JP_NODENAME");
+                        String codename = jsonArray.getJSONObject(position).getString("JP_NODENAME");
                         if (!StringUtils.isEmpty(status)) {
                         if (!StringUtils.isEmpty(status)) {
                             if (status.equals("待审批")) {
                             if (status.equals("待审批")) {
-                                status = "等待" + nodename +"("+codename+ ")审批";
-                            }if (status.equals("未通过")){
-                                status="未通过" + nodename + "("+codename+")审批";
+                                status = "等待" + nodename + "(" + codename + ")审批";
+                            }
+                            if (status.equals("未通过")) {
+                                status = "未通过" + nodename + "(" + codename + ")审批";
                             }
                             }
-                        }else{
-                            status=" ";
+                        } else {
+                            status = " ";
                         }
                         }
                         if (!StringUtils.isEmpty(name)) name = name.substring(0, name.length() - 2);
                         if (!StringUtils.isEmpty(name)) name = name.substring(0, name.length() - 2);
                         model.name.setText(name + "-" + code);
                         model.name.setText(name + "-" + code);
@@ -644,7 +673,7 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                             model.status.setTextColor(mContext.getResources().getColor(R.color.red));
                             model.status.setTextColor(mContext.getResources().getColor(R.color.red));
                             model.status.setText(status);
                             model.status.setText(status);
 
 
-                        }else{
+                        } else {
                             model.status.setTextColor(mContext.getResources().getColor(R.color.light_gray));
                             model.status.setTextColor(mContext.getResources().getColor(R.color.light_gray));
                             model.status.setText(status);
                             model.status.setText(status);
                         }
                         }
@@ -664,8 +693,8 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                 protected FilterResults performFiltering(CharSequence constraint) {
                 protected FilterResults performFiltering(CharSequence constraint) {
                     FilterResults searchResults = new FilterResults();
                     FilterResults searchResults = new FilterResults();
                     if (constraint == null || constraint.length() == 0) {
                     if (constraint == null || constraint.length() == 0) {
-                        searchResults.values = array;
-                        searchResults.count = array.size();
+                        searchResults.values = tab_type == 1 ? arrayUn : arrayRe;
+                        searchResults.count = (tab_type == 1 ? arrayUn : arrayRe).size();
                     } else {
                     } else {
                         JSONArray newArry = new JSONArray();
                         JSONArray newArry = new JSONArray();
                         for (int i = 0; i < jsonArray.size(); i++) {
                         for (int i = 0; i < jsonArray.size(); i++) {
@@ -697,17 +726,17 @@ public class ProcessB2BActivity extends BaseActivity implements View.OnClickList
                                     break;
                                     break;
                                 case 2:
                                 case 2:
                                     //                {
                                     //                {
-                    //                    "jn_dealmanid":1000002802,
-                    //                        "jn_dealmanname":"移动测试员",
-                    //                        "jn_dealresult":"不同意",
-                    //                        "jn_dealtime":1490249444130,
-                    //                        "jn_name":"加班单",
-                    //                        "jn_operateddescription":"注意工作,别老加班",
-                    //                        "jp_keyvalue":809,
-                    //                        "jp_launcherid":1000009169,
-                    //                        "jp_launchername":"移动测试",
-                    //                        "jp_nodeid":281
-                    //                }
+                                    //                    "jn_dealmanid":1000002802,
+                                    //                        "jn_dealmanname":"移动测试员",
+                                    //                        "jn_dealresult":"不同意",
+                                    //                        "jn_dealtime":1490249444130,
+                                    //                        "jn_name":"加班单",
+                                    //                        "jn_operateddescription":"注意工作,别老加班",
+                                    //                        "jp_keyvalue":809,
+                                    //                        "jp_launcherid":1000009169,
+                                    //                        "jp_launchername":"移动测试",
+                                    //                        "jp_nodeid":281
+                                    //                }
                                     cu_name = jsonObject.getString("jn_name") == null ? "" : jsonObject.getString("jn_name");
                                     cu_name = jsonObject.getString("jn_name") == null ? "" : jsonObject.getString("jn_name");
                                     time = jsonObject.getString("jn_dealtime") == null ? "" : jsonObject.getString("jn_dealtime");
                                     time = jsonObject.getString("jn_dealtime") == null ? "" : jsonObject.getString("jn_dealtime");
                                     jn_dealresult = jsonObject.getString("jn_dealresult") == null ? "" : jsonObject.getString("jn_dealresult");
                                     jn_dealresult = jsonObject.getString("jn_dealresult") == null ? "" : jsonObject.getString("jn_dealresult");

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

@@ -9,14 +9,15 @@ import java.util.Calendar;
  */
  */
 
 
 public class OAModel {
 public class OAModel {
+
     private boolean isMe;//是否是我的单,可能是下属的
     private boolean isMe;//是否是我的单,可能是下属的
-    private int type;//类型
+    private int type;//类型
     private long startdate;
     private long startdate;
     private long enddate;
     private long enddate;
     private long recorddate;//录入时间
     private long recorddate;//录入时间
     private String title;
     private String title;
     private String remark;//备注、目的
     private String remark;//备注、目的
-    private String address;
+    private String address;//
     private String recorder;//录入人
     private String recorder;//录入人
     private String status;
     private String status;
     private String handler;
     private String handler;

+ 13 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java

@@ -17,6 +17,7 @@ import android.widget.Toast;
 import com.afollestad.materialdialogs.MaterialDialog;
 import com.afollestad.materialdialogs.MaterialDialog;
 import com.afollestad.materialdialogs.MaterialDialog.ButtonCallback;
 import com.afollestad.materialdialogs.MaterialDialog.ButtonCallback;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.R;
@@ -668,6 +669,18 @@ public class ViewUtil {
     public static void LoginSucess(Message msg) {
     public static void LoginSucess(Message msg) {
         String json = msg.getData().getString("result");
         String json = msg.getData().getString("result");
         CommonUtil.setSharedPreferences(ct, "loginJson", json);
         CommonUtil.setSharedPreferences(ct, "loginJson", json);
+        try {
+            JSONArray array = JSON.parseArray(json);
+            if (!ListUtils.isEmpty(array)) {
+                JSONObject object = array.getJSONObject(0);
+                if (object != null && object.containsKey("userName")) {
+                    String userName = object.getString("userName");
+                    CommonUtil.setSharedPreferences(ct, "erp_emname", userName);
+                }
+            }
+        } catch (Exception e) {
+
+        }
         String phone = msg.getData().getString("phone");
         String phone = msg.getData().getString("phone");
         String password = msg.getData().getString("password");
         String password = msg.getData().getString("password");
         if (new JsonValidator().validate(json)) {
         if (new JsonValidator().validate(json)) {

+ 8 - 15
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/MessagePresenter.java

@@ -357,17 +357,6 @@ public class MessagePresenter implements HttpHandler.OnResultListener {
                     num += 1;
                     num += 1;
             }
             }
         }
         }
-        //TODO 发布版本先隐藏
-//        ThreadUtil.getInstance().addTask(new Runnable() {
-//            @Override
-//            public void run() {
-//                try {
-//                    saveSubs2Db(object);
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                }
-//            }
-//        });
         subsNum = num;
         subsNum = num;
         updateForUnReader();
         updateForUnReader();
         iMessageView.updateHeaderView(2, num, num > 0 ? messages.get(0).getTITLE_() : "");
         iMessageView.updateHeaderView(2, num, num > 0 ? messages.get(0).getTITLE_() : "");
@@ -480,7 +469,7 @@ public class MessagePresenter implements HttpHandler.OnResultListener {
      *
      *
      * @param mode
      * @param mode
      */
      */
-    private final void setSortCondition(BaseSortModel<Friend> mode) {
+    private final void setSortCondition(BaseSortModel<Friend> mode) throws Exception {
         Friend friend = mode.getBean();
         Friend friend = mode.getBean();
         if (friend == null) {
         if (friend == null) {
             return;
             return;
@@ -510,8 +499,12 @@ public class MessagePresenter implements HttpHandler.OnResultListener {
         List<Friend> friends = FriendDao.getInstance().getNearlyFriendMsg(mLoginUserId);
         List<Friend> friends = FriendDao.getInstance().getNearlyFriendMsg(mLoginUserId);
         List<MessageModel> model = MessageDao.getInstance().queryFirstFloor();
         List<MessageModel> model = MessageDao.getInstance().queryFirstFloor();
         setFriendName(friends, mLoginUserId);
         setFriendName(friends, mLoginUserId);
-        return handlerErpAndIm(friends, model);
-
+        try {
+            return handlerErpAndIm(friends, model);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
     }
     }
 
 
     private void showByEndIm() {
     private void showByEndIm() {
@@ -526,7 +519,7 @@ public class MessagePresenter implements HttpHandler.OnResultListener {
      * @param friends
      * @param friends
      * @param models
      * @param models
      */
      */
-    private List<BaseSortModel<Friend>> handlerErpAndIm(List<Friend> friends, List<MessageModel> models) {
+    private List<BaseSortModel<Friend>> handlerErpAndIm(List<Friend> friends, List<MessageModel> models) throws Exception {
         if (friends == null) friends = new ArrayList<>();
         if (friends == null) friends = new ArrayList<>();
         List<BaseSortModel<Friend>> chche = new ArrayList<>();
         List<BaseSortModel<Friend>> chche = new ArrayList<>();
         emnewsNum = 0;
         emnewsNum = 0;

+ 17 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/OAPresenter.java

@@ -13,8 +13,10 @@ import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
-import com.xzjmyk.pm.activity.ui.erp.util.oa.HttpHandler;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.OAHttpUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.OAHttpUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OnHttpResultListener;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.http.Request;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.wxapi.ApiConfig;
 import com.xzjmyk.pm.activity.wxapi.ApiConfig;
 import com.xzjmyk.pm.activity.wxapi.ApiPlatform;
 import com.xzjmyk.pm.activity.wxapi.ApiPlatform;
@@ -30,7 +32,7 @@ import java.util.Map;
  * Created by Bitliker on 2017/3/29.
  * Created by Bitliker on 2017/3/29.
  */
  */
 
 
-public class OAPresenter implements HttpHandler.OnResultListener {
+public class OAPresenter implements OnHttpResultListener {
     private final int LOAD_SUBORD = 0x12;
     private final int LOAD_SUBORD = 0x12;
     private final int LOAD_SCHEDULE = 0x11;
     private final int LOAD_SCHEDULE = 0x11;
     private IOAView ioaView;
     private IOAView ioaView;
@@ -97,7 +99,12 @@ public class OAPresenter implements HttpHandler.OnResultListener {
         String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().workSchedule :
         String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().workSchedule :
                 "mobile/crm/gettaskscheduleandvisitplanmsg.action";
                 "mobile/crm/gettaskscheduleandvisitplanmsg.action";
         param.put("date", TimeUtils.long2str(curDate, "yyyyMM"));
         param.put("date", TimeUtils.long2str(curDate, "yyyyMM"));
-        HttpHandler.getInstance().loadByNet(LOAD_SCHEDULE, url, param, new Bundle(), "get", this);
+        Request request= new Request.Bulider()
+                .setMode(Request.Mode.GET)
+                .setParam(param)
+                .setUrl(url)
+                .setWhat(LOAD_SCHEDULE).bulid();
+        OAHttpHelper.getInstance().requestHttp(request,this);
     }
     }
 
 
 
 
@@ -106,7 +113,12 @@ public class OAPresenter implements HttpHandler.OnResultListener {
         ioaView.showLoading();
         ioaView.showLoading();
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> param = new HashMap<>();
         param.put("emcode", CommonUtil.getEmcode());
         param.put("emcode", CommonUtil.getEmcode());
-        HttpHandler.getInstance().loadByNet(LOAD_SUBORD, "mobile/crm/getstaffmsg.action", param, new Bundle(), "get", this);
+        Request request= new Request.Bulider()
+                .setMode(Request.Mode.GET)
+                .setParam(param)
+                .setUrl("mobile/crm/getstaffmsg.action")
+                .setWhat(LOAD_SUBORD).bulid();
+        OAHttpHelper.getInstance().requestHttp(request,this);
     }
     }
 
 
     @Override
     @Override
@@ -124,7 +136,7 @@ public class OAPresenter implements HttpHandler.OnResultListener {
 
 
 
 
     @Override
     @Override
-    public void error(int what, int statuCode, String message, Bundle bundle) {
+    public void error(int what,   String message, Bundle bundle) {
         ioaView.dimssLoading();
         ioaView.dimssLoading();
         handlerError(what, message, bundle);
         handlerError(what, message, bundle);
     }
     }

+ 7 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -160,12 +160,11 @@ public class CommonUtil {
         picker.setOnDateTimePickListener(new DateTimePicker.OnYearMonthDayTimePickListener() {
         picker.setOnDateTimePickListener(new DateTimePicker.OnYearMonthDayTimePickListener() {
             @Override
             @Override
             public void onDateTimePicked(String year, String month, String day, String hour, String minute) {
             public void onDateTimePicked(String year, String month, String day, String hour, String minute) {
-                if (tv instanceof TextView){
-                    ((TextView)tv).setText(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":00");
-                }else if(tv instanceof  EditText){
-                    ((EditText)tv).setText(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":00");
+                if (tv instanceof TextView) {
+                    ((TextView) tv).setText(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":00");
+                } else if (tv instanceof EditText) {
+                    ((EditText) tv).setText(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":00");
                 }
                 }
-              
 
 
 
 
             }
             }
@@ -221,7 +220,6 @@ public class CommonUtil {
                     Toast.makeText(MyApplication.getInstance(), "微信" + " 分享成功", Toast.LENGTH_SHORT).show();
                     Toast.makeText(MyApplication.getInstance(), "微信" + " 分享成功", Toast.LENGTH_SHORT).show();
                 } else if (platform.name().equals("QZONE")) {
                 } else if (platform.name().equals("QZONE")) {
                     Toast.makeText(MyApplication.getInstance(), "QQ空间" + " 分享成功", Toast.LENGTH_SHORT).show();
                     Toast.makeText(MyApplication.getInstance(), "QQ空间" + " 分享成功", Toast.LENGTH_SHORT).show();
-
                 } else if (platform.name().equals("SINA")) {
                 } else if (platform.name().equals("SINA")) {
                     Toast.makeText(MyApplication.getInstance(), "微博" + " 分享成功", Toast.LENGTH_SHORT).show();
                     Toast.makeText(MyApplication.getInstance(), "微博" + " 分享成功", Toast.LENGTH_SHORT).show();
                 } else if (platform.name().equals("QQ")) {
                 } else if (platform.name().equals("QQ")) {
@@ -514,7 +512,6 @@ public class CommonUtil {
         } else {
         } else {
             return false;
             return false;
         }
         }
-
     }
     }
 
 
     public static boolean clearSharedPreferences(Context ct, String key) {
     public static boolean clearSharedPreferences(Context ct, String key) {
@@ -1399,6 +1396,7 @@ public class CommonUtil {
         }
         }
         return -1;
         return -1;
     }
     }
+
     public static long getlongNumByString(String chche) {
     public static long getlongNumByString(String chche) {
         if (StringUtils.isEmpty(chche)) return -1;
         if (StringUtils.isEmpty(chche)) return -1;
         Pattern p = Pattern.compile("(\\d+)");
         Pattern p = Pattern.compile("(\\d+)");
@@ -1440,7 +1438,7 @@ public class CommonUtil {
      * @author: FANGlh 2017-3-30
      * @author: FANGlh 2017-3-30
      */
      */
 
 
-    public static double getTwoPointDouble(double num){
+    public static double getTwoPointDouble(double num) {
         try {
         try {
             DecimalFormat df = new DecimalFormat(".##");
             DecimalFormat df = new DecimalFormat(".##");
             double dis = Math.abs(num);
             double dis = Math.abs(num);
@@ -1449,6 +1447,7 @@ public class CommonUtil {
             return 0;
             return 0;
         }
         }
     }
     }
+
     public static String getMaster() {
     public static String getMaster() {
         boolean isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
         boolean isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
         String master = isB2b ? CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyEnUu")
         String master = isB2b ? CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyEnUu")

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

@@ -59,7 +59,6 @@ public class AutoErpService extends Service {
     private final int MISSION_ITER = 10;//外勤时间  2分钟的倍数
     private final int MISSION_ITER = 10;//外勤时间  2分钟的倍数
 
 
     private AutoErpSigninUitl signinUitl;
     private AutoErpSigninUitl signinUitl;
-
     private int missionIter;
     private int missionIter;
     private int workIter;
     private int workIter;
 
 

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

@@ -121,11 +121,7 @@ public class CommonInterface implements HttpHandler.OnResultListener {
         }
         }
     }
     }
 
 
-    /**
-     * 获取企业架构数据
-     *
-     * @param onResultListener
-     */
+    /*获取企业架构数据*/
     public void loadCompanyData(OnResultListener onResultListener) {
     public void loadCompanyData(OnResultListener onResultListener) {
         String master = CommonUtil.getMaster();
         String master = CommonUtil.getMaster();
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> param = new HashMap<>();
@@ -187,7 +183,7 @@ public class CommonInterface implements HttpHandler.OnResultListener {
         param.put("id", id);
         param.put("id", id);
         String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().updateOutplanStatus : "mobile/mobileplanUpdate.action";
         String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().updateOutplanStatus : "mobile/mobileplanUpdate.action";
         if (isB2b)
         if (isB2b)
-            param.put("statuscode", isDone ? "DONE" : "CHECKOUT");
+            param.put("statuscode", isDone ? "done" : "CHECKOUT");//TODO done使用小写
         HttpHandler.getInstance().loadByNet(END_MISSION,
         HttpHandler.getInstance().loadByNet(END_MISSION,
                 url, param, null, this);
                 url, param, null, this);
     }
     }

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

@@ -57,6 +57,7 @@ public class OAHttpUtil {
         }
         }
         return models;
         return models;
     }
     }
+
     private long getTimeMillis(JSONObject object, String... keys) {
     private long getTimeMillis(JSONObject object, String... keys) {
         String timeStr = OACheckUtil.getJson2Text(object, keys);
         String timeStr = OACheckUtil.getJson2Text(object, keys);
         if (StringUtils.isEmpty(timeStr))
         if (StringUtils.isEmpty(timeStr))

+ 141 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/http/OAHttpHelper.java

@@ -0,0 +1,141 @@
+package com.xzjmyk.pm.activity.ui.erp.util.oa.http;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.wxapi.ApiConfig;
+import com.xzjmyk.pm.activity.wxapi.ApiPlatform;
+import com.xzjmyk.pm.activity.wxapi.ApiUtils;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 封装的http请求,以对象编程,防止出现扩展时候修改过多地方
+ * 函数参数不应该多于三个,如果必须,应该考虑以对象封装参数
+ * Created by Bitliker on 2017/4/7.
+ */
+
+public class OAHttpHelper extends Handler {
+
+    private static OAHttpHelper instance;
+
+    private OAHttpHelper() {
+    }
+
+    public static OAHttpHelper getInstance() {
+        if (instance == null) {
+            synchronized (OAHttpHelper.class) {
+                instance = new OAHttpHelper();
+            }
+        }
+        return instance;
+    }
+
+    @Override
+    public void handleMessage(Message msg) {
+        try {
+            OnHttpResultListener listener = (OnHttpResultListener) msg.getData().getSerializable("listener");
+            if (listener == null) return;
+            Bundle bundle = msg.getData();
+            if (bundle == null) return;
+            String message = bundle.getString("result");
+            int code = msg.getData().getInt("code");
+            if (code == 200 && !StringUtils.isEmpty(message)) {//返回正确数据
+                listener.result(msg.what, OACheckUtil.validatorJson(message), message, bundle);
+            } else {
+                int what = msg.getData().getInt("what");
+                listener.error(what, message, bundle);
+            }
+        } catch (NullPointerException e) {
+            if (e != null) LogUtil.d("handleMessage NullPointerException" + e.getMessage());
+        } catch (ClassCastException e) {
+            if (e != null) LogUtil.d("handleMessage ClassCastException" + e.getMessage());
+        } catch (Exception e) {
+            if (e != null) LogUtil.d("handleMessage Exception" + e.getMessage());
+        }
+    }
+
+    /**
+     * 唯一对外接口
+     *
+     * @param request  请求体
+     * @param listener 回调监听器
+     */
+    public void requestHttp(Request request, OnHttpResultListener listener) {
+        if (request == null) new NullPointerException("Request is null");
+        try {
+            if (ApiUtils.getApiModel() instanceof ApiPlatform)
+                loadB2B(request, listener);
+            else loadERP(request, listener);
+        } catch (Exception e) {
+
+        }
+    }
+
+    private void loadERP(Request request, OnHttpResultListener listener) throws Exception {
+        LinkedHashMap<String, Object> headers = getHeaders(request);
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(MyApplication.getInstance(), "sessionId"));
+        String url = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_baseurl") + request.getUrl();
+        Bundle bundle = getBundle(request);
+        if (listener != null)
+            bundle.putSerializable("listener", listener);
+        Message message = Message.obtain();
+        message.setData(bundle);
+        Request.Mode mode = getMode(request);
+        ViewUtil.httpSendRequest(MyApplication.getInstance(), url, request.getParam(), this, headers, request.getWhat(), message, bundle, mode == Request.Mode.GET ? "GET" : "POST");
+    }
+
+    private void loadB2B(Request request, OnHttpResultListener listener) throws Exception {
+        Map<String, Object> param = getParam(request);
+        param.put("enuu", CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "companyEnUu"));
+        param.put("emcode", CommonUtil.getSharedPreferences(MyApplication.getInstance().getApplicationContext(), "b2b_uu"));
+        LinkedHashMap<String, Object> headers = getHeaders(request);
+        headers.put("Cookie", "JSESSIONID=" + ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getCookie());
+        Bundle bundle = getBundle(request);
+        if (listener != null)
+            bundle.putSerializable("listener", listener);
+        Message message = Message.obtain();
+        message.setData(bundle);
+        int what = request.getWhat();
+        Request.Mode mode = getMode(request);
+        ViewUtil.httpSendRequest(MyApplication.getInstance(), request.getUrl(), param, this, headers, what, message, bundle, mode == Request.Mode.GET ? "GET" : "POST");
+    }
+
+    private Map<String, Object> getParam(Request request) throws Exception {
+        Map<String, Object> param = request.getParam();
+        if (param == null)
+            param = new HashMap<>();
+        return param;
+    }
+
+    private LinkedHashMap<String, Object> getHeaders(Request request) throws Exception {
+        LinkedHashMap<String, Object> headers = request.getHeaders();
+        if (headers == null)
+            headers = new LinkedHashMap<>();
+        return headers;
+    }
+
+    private Bundle getBundle(Request request) throws Exception {
+        Bundle bundle = request.getBundle();
+        if (bundle == null)
+            bundle = new Bundle();
+        return bundle;
+    }
+
+    private Request.Mode getMode(Request request) throws Exception {
+        Request.Mode mode = request.getMode();
+        if (mode == null) mode = Request.Mode.POST;
+        return mode;
+    }
+
+
+}

+ 30 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/http/OnHttpResultListener.java

@@ -0,0 +1,30 @@
+package com.xzjmyk.pm.activity.ui.erp.util.oa.http;
+
+import android.os.Bundle;
+
+import java.io.Serializable;
+
+/**
+ * Created by Bitliker on 2017/4/7.
+ */
+
+public interface OnHttpResultListener extends Serializable {
+
+    /**
+     * 接口返回
+     *
+     * @param what    请求的what
+     * @param isJSON  是否是json数据
+     * @param message 返回内容
+     * @param bundle  返回内容,里面包含请求接口时候上传上去的参数
+     */
+    void result(int what, boolean isJSON, String message, Bundle bundle);
+
+    /**
+     * 请求错误返回
+     *
+     * @param what    请求what
+     * @param message 错误信息
+     */
+    void error(int what, String message, Bundle bundle);
+}

+ 96 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/http/Request.java

@@ -0,0 +1,96 @@
+package com.xzjmyk.pm.activity.ui.erp.util.oa.http;
+
+import android.os.Bundle;
+
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Created by Bitliker on 2017/4/7.
+ */
+
+public class Request implements Serializable {
+    private int what;
+    private String url;
+    private Mode mode;
+    private Map<String, Object> param;
+    private LinkedHashMap<String, Object> headers;
+    private Bundle bundle;
+
+    public Mode getMode() {
+        return mode;
+    }
+
+    public Bundle getBundle() {
+        return bundle;
+    }
+
+    public int getWhat() {
+        return what;
+    }
+
+    public LinkedHashMap<String, Object> getHeaders() {
+        return headers;
+    }
+
+    public Map<String, Object> getParam() {
+        return param;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    private Request() {
+    }
+
+    public static class Bulider {
+        private Request request;
+
+        public Bulider() {
+            request = new Request();
+        }
+
+        public Bulider setMode(Mode mode) {
+            request.mode = mode;
+            return this;
+        }
+
+        public Bulider setUrl(String url) {
+            request.url = url;
+            return this;
+        }
+
+        public Bulider setParam(Map<String, Object> param) {
+            request.param = param;
+            return this;
+        }
+
+
+        public Bulider setHeaders(LinkedHashMap<String, Object> headers) {
+            request.headers = headers;
+            return this;
+        }
+
+
+        public Bulider setBundle(Bundle bundle) {
+            request.bundle = bundle;
+            return this;
+        }
+
+        public Bulider setWhat(int what) {
+            request.what = what;
+            return this;
+        }
+
+        public Request bulid() {
+            return request;
+        }
+    }
+
+
+    public enum Mode {
+        GET, POST
+    }
+}

+ 12 - 15
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/OfficeAddressSettingsActivity.java

@@ -298,23 +298,22 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
                         } else {
                         } else {
                             address_names.add("");
                             address_names.add("");
                         }
                         }
-
                         if (!StringUtils.isEmpty(mPlatSignData.get(i).getCs_workaddr())) {
                         if (!StringUtils.isEmpty(mPlatSignData.get(i).getCs_workaddr())) {
-                            address_latitud.add(mPlatSignData.get(i).getCs_workaddr());
+                            address_location.add(mPlatSignData.get(i).getCs_workaddr());
                         } else {
                         } else {
-                            address_latitud.add("");
+                            address_location.add("");
                         }
                         }
 
 
                         if (mPlatSignData.get(i).getCs_latitude() != -1) {
                         if (mPlatSignData.get(i).getCs_latitude() != -1) {
-                            address_location.add(mPlatSignData.get(i).getCs_latitude() + "");
+                            address_longitude.add(mPlatSignData.get(i).getCs_latitude() + "");
                         } else {
                         } else {
-                            address_location.add("");
+                            address_longitude.add("");
                         }
                         }
 
 
                         if (mPlatSignData.get(i).getCs_longitude() != -1) {
                         if (mPlatSignData.get(i).getCs_longitude() != -1) {
-                            address_longitude.add(mPlatSignData.get(i).getCs_longitude() + "");
+                            address_latitud.add(mPlatSignData.get(i).getCs_longitude() + "");
                         } else {
                         } else {
-                            address_longitude.add("");
+                            address_latitud.add("");
                         }
                         }
 
 
                         if (mPlatSignData.get(i).getCs_id() != 0) {
                         if (mPlatSignData.get(i).getCs_id() != 0) {
@@ -362,23 +361,21 @@ public class OfficeAddressSettingsActivity extends BaseActivity {
                         }
                         }
 
 
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_WORKADDR())) {
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_WORKADDR())) {
-                            address_latitud.add(mOfficeAddressBean.getListdata().get(i).getCS_WORKADDR());
+                            address_location.add(mOfficeAddressBean.getListdata().get(i).getCS_WORKADDR());
                         } else {
                         } else {
-                            address_latitud.add("");
+                            address_location.add("");
                         }
                         }
 
 
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_LATITUDE())) {
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_LATITUDE())) {
-                            address_location.add(mOfficeAddressBean.getListdata().get(i).getCS_LATITUDE());
+                            address_longitude.add(mOfficeAddressBean.getListdata().get(i).getCS_LATITUDE());
                         } else {
                         } else {
-                            address_location.add("");
+                            address_longitude.add("");
                         }
                         }
-
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_LONGITUDE())) {
                         if (!StringUtils.isEmpty(mOfficeAddressBean.getListdata().get(i).getCS_LONGITUDE())) {
-                            address_longitude.add(mOfficeAddressBean.getListdata().get(i).getCS_LONGITUDE());
+                            address_latitud.add(mOfficeAddressBean.getListdata().get(i).getCS_LONGITUDE());
                         } else {
                         } else {
-                            address_longitude.add("");
+                            address_latitud.add("");
                         }
                         }
-
                         if (mOfficeAddressBean.getListdata().get(i).getCS_ID() != 0) {
                         if (mOfficeAddressBean.getListdata().get(i).getCS_ID() != 0) {
                             address_id.add(mOfficeAddressBean.getListdata().get(i).getCS_ID() + "");
                             address_id.add(mOfficeAddressBean.getListdata().get(i).getCS_ID() + "");
                         } else {
                         } else {

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/task/TaskDetailB2BActivity.java

@@ -149,7 +149,7 @@ public class TaskDetailB2BActivity extends BaseActivity implements View.OnClickL
                     break;
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     result = msg.getData().getString("result");
                     result = msg.getData().getString("result");
-                   ToastMessage(result);
+                    ToastMessage(result);
                     break;
                     break;
                 default:
                 default:
                     break;
                     break;

+ 1 - 2
WeiChat/src/main/res/layout/fragment_me.xml

@@ -486,9 +486,8 @@
             android:id="@+id/test_rl"
             android:id="@+id/test_rl"
             style="@style/IMTbleLine_UP_Me"
             style="@style/IMTbleLine_UP_Me"
             android:layout_marginTop="7dp"
             android:layout_marginTop="7dp"
-            android:visibility="gone"
             android:background="@drawable/selector_me_menu_item_bg"
             android:background="@drawable/selector_me_menu_item_bg"
-           >
+            android:visibility="gone">
 
 
             <TextView
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"