Browse Source

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

FANGLH 8 years ago
parent
commit
d71d0c2b65

+ 3 - 2
WeiChat/src/main/AndroidManifest.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.xzjmyk.pm.activity"
-    android:versionCode="106"
-    android:versionName="5.8.4">
+    android:versionCode="108"
+    android:versionName="5.8.6">
 
     <uses-sdk
         android:minSdkVersion="11"
@@ -974,6 +974,7 @@
             android:label="在线人脸识别" />
         <activity android:name=".ui.erp.activity.oa.FileLoadingActivity" />
         <activity android:name=".ui.erp.activity.oa.ApprovalActivity" />
+        <activity android:name=".ui.erp.activity.AppWebViewActivity" />
         <activity
             android:name=".ui.erp.activity.message.PersonalRegActivity"
             android:label="个人注册" />

+ 71 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/AppWebViewActivity.java

@@ -0,0 +1,71 @@
+package com.xzjmyk.pm.activity.ui.erp.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.support.annotation.Nullable;
+import android.view.Menu;
+import android.view.MenuItem;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.erp.activity.oa.ApprovalActivity;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
+
+/**
+ * Created by Bitliker on 2017/7/28.
+ */
+
+public class AppWebViewActivity extends WebViewLoadActivity {
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
+        super.onCreate(savedInstanceState, persistentState);
+    }
+
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == R.id.returnOld) {
+            PreferenceUtils.putBoolean("newapproval", true);
+            Intent intent = new Intent(ct, ApprovalActivity.class);
+            intent.putExtra("title", getIntent().getStringExtra("p"));
+            int nodeId = getNodeId();
+            if (nodeId <= 0) {
+                nodeId = getIntent().getIntExtra("nodeid", -1);
+            }
+            intent.putExtra("nodeid", nodeId);
+            startActivity(intent);
+            finish();
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    private int getNodeId() {
+        int nodeId = -1;
+        try {
+            LogUtil.i("url=" + url);
+            if (!StringUtils.isEmpty(url)) {
+                String[] urls = url.split("nodeId=");
+                if (urls != null && urls.length > 1) {
+                    String node = urls[1].split("&")[0];
+                    nodeId = Integer.valueOf(node);
+                }
+            }
+        } catch (Exception e) {
+            LogUtil.i("Exception=" + e.getMessage());
+        }
+        LogUtil.i("nodeId=" + nodeId);
+        return nodeId;
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.menu_aproval_set, menu);
+        menu.getItem(0).setVisible(false);
+        MenuItem item = menu.getItem(1);
+        item.setTitle("使用新版");
+        return super.onCreateOptionsMenu(menu);
+    }
+}

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

@@ -26,7 +26,6 @@ import com.xzjmyk.pm.activity.ui.erp.util.Blowfish;
 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.FlexJsonUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 
 import org.apache.http.util.EncodingUtils;
@@ -42,7 +41,7 @@ import java.util.Map;
 @SuppressWarnings("deprecation")
 public class WebViewLoadActivity extends BaseActivity {
 
-    private String url;
+    protected String url;
     private String paramurl;// 连接到具体网页的url
     public boolean isStartApp = false;
     private String master;
@@ -138,7 +137,7 @@ public class WebViewLoadActivity extends BaseActivity {
 
         webView.getRefreshableView().setWebViewClient(new WebViewClient() {
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
-                LogUtil.d("转发 url=" + url);
+                WebViewLoadActivity.this.url=url;
                 view.loadUrl(url);
                 return true;
             }

+ 4 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/contanct/ContactsActivity.java

@@ -644,6 +644,8 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
     private void loadUUFriendForNet() {
         HashMap<String, String> params = new HashMap<String, String>();
         params.put("access_token", MyApplication.getInstance().mAccessToken);
+        LogUtil.d("Test", "url:"+MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST);
+        LogUtil.d("Test","access_token"+MyApplication.getInstance().mAccessToken);
         StringJsonArrayRequest<AttentionUser> request = new StringJsonArrayRequest<AttentionUser>(
                 MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST, new Response.ErrorListener() {
             @Override
@@ -678,6 +680,8 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
                                         loadUASFriendsNet();
                                 }
                             });
+                }else{
+                    loadUASFriendsNet();
                 }
             }
         }, AttentionUser.class, params);

+ 11 - 11
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/SelectCalendarActivity.java

@@ -865,17 +865,17 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
      * @desc:获取用户的繁忙时间
      * @author:Arison on 2017/7/11
      */
-    public void getUsersBusyTime() {
-        String time = DateFormatUtil.getStrDate4String(v_date_end.getText().toString().replace("-", ""), "yyyyMMdd");
-        String url = Constants.IM_BASE_URL + "user/appBusytime";
-        Map<String, Object> params = new HashMap<>();
-        params.put("token", MyApplication.getInstance().mAccessToken);
-        params.put("userid", MyApplication.getInstance().mLoginUser.getUserId());
-        params.put("yearmonth", time);
-        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
-        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x08, null, null, "post");
-    }
+//    public void getUsersBusyTime() {
+//        String time = DateFormatUtil.getStrDate4String(v_date_end.getText().toString().replace("-", ""), "yyyyMMdd");
+//        String url = Constants.IM_BASE_URL + "user/appBusytime";
+//        Map<String, Object> params = new HashMap<>();
+//        params.put("token", MyApplication.getInstance().mAccessToken);
+//        params.put("userid", MyApplication.getInstance().mLoginUser.getUserId());
+//        params.put("yearmonth", time);
+//        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+//        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+//        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, 0x08, null, null, "post");
+//    }
 
 
     /**

+ 38 - 42
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java

@@ -328,51 +328,49 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
                 LogUtil.d(TAG, position + "");
                 String title = "";
                 String url = "";
-                if (CommonUtil.isReleaseVersion()) {
-                    switch (tab_type) {
-                        case 1:
-                            title = getString(R.string.task_unconfim);
-                            if ("transferprocess".equals(model.typecode) || "process".equals(model.typecode) || "".equals(model.typecode)) {
-                                url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID;
-                            } else if ("procand".equals(model.typecode)) {
-                                url = "jsps/mobile/jprocand.jsp?nodeId=" + model.JP_NODEID;
-                            } else if ("unprocess".equals(model.typecode)) {
-                                url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
-                            }
-
-                            break;
-                        case 2:
-                            title = getString(R.string.task_confimed);
-                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
-                            break;
-                        case 3:
-                            title = getString(R.string.task_request_me);
+                String d_imids = "";
+                switch (tab_type) {
+                    case 1:
+                        title = getString(R.string.title_approval);
+                        d_imids = im_ids.get(mPosition);
+                        if ("transferprocess".equals(model.typecode) || "process".equals(model.typecode) || "".equals(model.typecode)) {
+                            url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID;
+                        } else if ("procand".equals(model.typecode)) {
+                            url = "jsps/mobile/jprocand.jsp?nodeId=" + model.JP_NODEID;
+                        } else if ("unprocess".equals(model.typecode)) {
                             url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
-                            break;
-                    }
-                    String master = model.master == null ? CommonUtil.getSharedPreferences(ct, "erp_master") : model.master;
+                        }
+
+                        break;
+                    case 2:
+                        title = getString(R.string.task_confimed);
+                        d_imids = im_ids.get(mPosition);
+                        url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
+                        break;
+                    case 3:
+                        title = getString(R.string.task_request_me);
+                        url = "jsps/mobile/process.jsp?nodeId=" + model.JP_NODEID + "%26_do=1";
+                        break;
+                }
+                if (StringUtils.isEmpty(d_imids)) {
+                    d_imids = MyApplication.getInstance().mLoginUser.getUserId(); //审批详情界面:这里显示是我发起的,取当前登录当前用户的头像
+                }
+                LogUtil.i("url="+url);
+                String master = model.master == null ? CommonUtil.getSharedPreferences(ct, "erp_master") : model.master;
+                if (CommonUtil.isReleaseVersion()) {
                     CommonUtil.loadWebView(ct, url, title, master, null, null);
-                    Log.i("erppmurl,master", url + "," + master);
+//                    Intent intent = new Intent(ct, AppWebViewActivity.class);
+//                    intent.putExtra("url", url);
+//                    intent.putExtra("p", title);
+//                    intent.putExtra("master", master);
+//                    intent.putExtra("nodeid", Integer.valueOf(model.JP_NODEID));
+//                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+//                    startActivity(intent);
                 } else {
-                    String d_imids = "";
-                    switch (tab_type) {
-                        case 1:
-                            title = getString(R.string.title_approval);
-                            d_imids = im_ids.get(mPosition);
-                            break;
-                        case 2:
-                            title = getString(R.string.task_confimed);
-                            d_imids = im_ids.get(mPosition);
-                            break;
-                        case 3:
-                            title = getString(R.string.task_request_me);
-                            d_imids = MyApplication.getInstance().mLoginUser.getUserId(); //审批详情界面:这里显示是我发起的,取当前登录当前用户的头像
-                            break;
-                    }
                     Intent intent = new Intent(ct, ApprovalActivity.class);
-                    intent.putExtra("title", title);
                     intent.putExtra("imid", d_imids);
-                    intent.putExtra("id", Integer.valueOf(model.JP_NODEID));
+                    intent.putExtra("title", title);
+                    intent.putExtra("nodeid", Integer.valueOf(model.JP_NODEID));
                     startActivity(intent);
                 }
             }
@@ -572,8 +570,6 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
                     String jp_status = jsonArray.getJSONObject(position).getString("JP_STATUS");
                     String jp_typecode = jsonArray.getJSONObject(position).getString("TYPECODE");
                     String jp_master = jsonArray.getJSONObject(position).getString("CURRENTMASTER");
-
-
                     model.name.setText(jp_launchername + "的" + jp_name);
                     if (jp_launchtime != null) {
                         model.date.setText(DateFormatUtil.getStrDate4Date(new Date(jp_launchtime), "yyyy-MM-dd HH:mm"));

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

@@ -12,6 +12,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 
+import com.afollestad.materialdialogs.MaterialDialog;
 import com.alibaba.fastjson.JSONArray;
 import com.andreabaccega.widget.FormEditText;
 import com.iflytek.cloud.RecognizerResult;
@@ -19,10 +20,12 @@ import com.iflytek.cloud.SpeechError;
 import com.iflytek.cloud.ui.RecognizerDialogListener;
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 import com.xzjmyk.pm.activity.bean.oa.SelectBean;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
+import com.xzjmyk.pm.activity.ui.erp.activity.AppWebViewActivity;
 import com.xzjmyk.pm.activity.ui.erp.adapter.oa.ApprovalAdapter;
 import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
 import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
@@ -31,10 +34,12 @@ import com.xzjmyk.pm.activity.ui.erp.presenter.ApprovaPresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IApproval;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+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.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.RecognizerDialogUtil;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -53,22 +58,36 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     @ViewInject(R.id.inputTagIV)
     ImageView inputTagIV;
 
-
     private List<Approval> approvals;
     private ApprovaPresenter mPresenter;
     private ApprovalAdapter mAdapter;
+    private int keyValue = -1;
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.oa_approval_set && mAdapter != null && !ListUtils.isEmpty(mAdapter.getApprovals())) {
             mPresenter.trun2SetActivity(this, mAdapter.getApprovals());
+        } else if (item.getItemId() == R.id.returnOld) {
+            PreferenceUtils.putBoolean("newapproval", false);
+            Intent intent = new Intent(ct, AppWebViewActivity.class);
+            String title = getIntent().getStringExtra("title");
+            String url = mPresenter.getUrl(title);
+            intent.putExtra("url", url);
+            intent.putExtra("p", title);
+            intent.putExtra("master", CommonUtil.getMaster());
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            startActivity(intent);
+            finish();
         }
         return super.onOptionsItemSelected(item);
     }
 
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         getMenuInflater().inflate(R.menu.menu_aproval_set, menu);
+        MenuItem item = menu.getItem(1);
+        item.setTitle("返回旧版");
         return super.onCreateOptionsMenu(menu);
     }
 
@@ -251,7 +270,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     }
 
     @Override
-    public void showMainList(Approval mainApproval) {
+    public void showMainList(int keyValue, Approval mainApproval) {
+        if (this.keyValue != keyValue) return;
         mainApproval.show();
         if (!ListUtils.isEmpty(approvals))
             for (Approval a : approvals) {
@@ -282,7 +302,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     }
 
     @Override
-    public void showDetailList(List<Approval> detailedList) {
+    public void showDetailList(int keyValue, List<Approval> detailedList) {
+        if (this.keyValue != keyValue) return;
         for (Approval approval : detailedList)
             approval.show();
         for (int i = approvals.size() - 1; i >= 0; i--) {
@@ -297,7 +318,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     }
 
     @Override
-    public void showEnclosureList(Approval enclosureApproval) {
+    public void showEnclosureList(int keyValue, Approval enclosureApproval) {
+        if (this.keyValue != keyValue) return;
         enclosureApproval.show();
         for (int i = approvals.size() - 1; i >= 0; i--) {
             if (approvals.get(i).getType() == Approval.DETAIL
@@ -313,7 +335,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     }
 
     @Override
-    public void showPointsList(Approval points) {
+    public void showPointsList(int keyValue, Approval points) {
+        if (this.keyValue != keyValue) return;
         points.show();
         for (int i = approvals.size() - 1; i >= 0; i--) {
             if (approvals.get(i).getType() == Approval.DETAIL
@@ -330,7 +353,8 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
     }
 
     @Override
-    public void showNodeList(Approval nodes) {
+    public void showNodeList(int keyValue, Approval nodes) {
+        if (this.keyValue != keyValue) return;
         nodes.show();
         for (int i = approvals.size() - 1; i >= 0; i--) {
             if (approvals.get(i).getType() == Approval.DETAIL
@@ -357,14 +381,13 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
             newAdapter();
         } else {
             mAdapter.setApprovals(approvals);
-            mAdapter.notifyDataSetChanged();
-//            if (startItem < 0 && endItem < 0) {
-//                mAdapter.notifyDataSetChanged();
-//            } else if (startItem == endItem && startItem >= 0) {
-//                mAdapter.notifyItemChanged(startItem);
-//            } else {
-//                mAdapter.notifyItemRangeChanged(startItem, endItem);
-//            }
+            if (startItem < 0 && endItem < 0) {
+                mAdapter.notifyDataSetChanged();
+            } else if (startItem == endItem && startItem >= 0) {
+                mAdapter.notifyItemChanged(startItem);
+            } else {
+                mAdapter.notifyItemRangeChanged(startItem, endItem);
+            }
         }
     }
 
@@ -382,6 +405,25 @@ public class ApprovalActivity extends OABaseActivity implements IApproval, View.
         }
     }
 
+    @Override
+    public void endProcess() {
+        new MaterialDialog.Builder(ct).title(MyApplication.getInstance().getString(R.string.app_dialog_title))
+                .content(R.string.end_approval)
+                .positiveText(MyApplication.getInstance().getString(R.string.app_dialog_close)).autoDismiss(false)
+                .callback(new MaterialDialog.ButtonCallback() {
+                    @Override
+                    public void onPositive(MaterialDialog dialog) {
+                        finish();
+                        dialog.dismiss();
+                    }
+                }).show();
+    }
+
+    @Override
+    public void setKeyValue(int keyValue) {
+        this.keyValue = keyValue;
+    }
+
     @Override
     public void sendToSelect(JSONArray data) {
         ArrayList<SelectBean> beans = new ArrayList<>();

+ 34 - 29
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingAddActivity.java

@@ -102,7 +102,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
         et_book_content = (EditText) findViewById(R.id.et_book_content);
 
         tv_book_topic = (EditText) findViewById(R.id.tv_book_topic);
-        gv_topic=(NScrollerGridView) findViewById(R.id.gv_topic);
+        gv_topic = (NScrollerGridView) findViewById(R.id.gv_topic);
         tv_book_topic.setText("商务洽谈");
         bt_commit = (Button) findViewById(R.id.submit_btn);
         findViewById(R.id.submit_btn).setOnClickListener(this);
@@ -130,23 +130,23 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
             }
         }
 
-        dataStates=new ArrayList<>();
-        for (String str:mTypes){
-            DataState dataState=new DataState();
+        dataStates = new ArrayList<>();
+        for (String str : mTypes) {
+            DataState dataState = new DataState();
             dataState.setValue(str);
             dataStates.add(dataState);
         }
-        
-        adapter=new GridDataAdapter(this,dataStates);
+
+        adapter = new GridDataAdapter(this, dataStates);
         gv_topic.setAdapter(adapter);
-   
+
         gv_topic.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                GridDataAdapter.ViewModle modle= (GridDataAdapter.ViewModle) view.getTag();
-                tv_book_topic.setText(  modle.tv_text.getText().toString()); 
+                GridDataAdapter.ViewModle modle = (GridDataAdapter.ViewModle) view.getTag();
+                tv_book_topic.setText(modle.tv_text.getText().toString());
                 tv_book_topic.setSelection(modle.tv_text.getText().toString().length());
-                
+
             }
         });
     }
@@ -170,7 +170,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
                 }
                 break;
             case R.id.company_add_rl://时段
-                if (!StringUtils.isEmpty(phone)) {
+                if (!StringUtils.isEmpty(tvBookObject.getText().toString())) {
                     startActivityForResult(new Intent(mContext, SelectCalendarActivity.class)
                                     .putExtra("startDate", DateFormatUtil.getDateTimeStr())
                                     .putExtra("endDate", DateFormatUtil.getDateTimeStr())
@@ -193,7 +193,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
                 poiParam.setDistanceTag(MyApplication.getInstance().getResources().getString(R.string.rice));
                 intent.putExtra("data", poiParam);
                 startActivityForResult(intent, 0x23);
-   
+
                 break;
             case R.id.rl_object://对象
                 if (model != null) {
@@ -221,10 +221,10 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
         switch (requestCode) {
             case 0x23://地址
                 PoiInfo poi = data.getParcelableExtra("resultKey");
-                if (poi == null ) return;
-                tvBookAddress.setText(poi.address);
-                latitude =poi.location.latitude;
-                longitude =poi.location.longitude;
+                if (poi == null) return;
+                tvBookAddress.setText(poi.address + poi.name);
+                latitude = poi.location.latitude;
+                longitude = poi.location.longitude;
 //                SelectAimModel entity = data.getParcelableExtra("data");
 //                tvBookAddress.setText(entity.getAddress());
 //                if (entity.getLatLng() != null) {
@@ -244,8 +244,9 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
             case 0x01://对象
                 // SelectEmUser model = data.getParcelableExtra("data");
                 ContactsModel model = data.getParcelableExtra("data");
+                LogUtil.d("Test",JSON.toJSONString(model));
                 imId = Integer.valueOf(model.getImid());
-                phone=model.getPhone();
+                phone = model.getPhone();
                 tvBookObject.setText(model.getName());
                 break;
             case 0x11:
@@ -297,7 +298,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
         String json = "{" +
                 "\"ab_bman\":\"" + tvBookObject.getText().toString() + "\"," +
                 "\"ab_bmanid\":\"" + imId + "\"," +
-                "\"ab_btelephone\":\"" +phone + "\"," +
+                "\"ab_btelephone\":\"" + phone + "\"," +
                 "\"ab_starttime\":\"" + startTime + "\"," +
                 "\"ab_endtime\":\"" + endTime + "\"," +
                 "\"ab_recordid\":\"" + MyApplication.getInstance().mLoginUser.getUserId() + "\"," +
@@ -367,7 +368,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
         String json = "{" +
                 "\"ab_bman\":\"" + tvBookObject.getText().toString() + "\"," +
                 "\"ab_bmanid\":\"" + imId + "\"," +
-            
+
                 "\"ab_starttime\":\"" + startTime + "\"," +
                 "\"ab_endtime\":\"" + endTime + "\"," +
                 "\"ab_recordid\":\"" + model.getAb_recordid() + "\"," +
@@ -402,8 +403,12 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
                         String resutl = JSON.parseObject(msg.getData().getString("result")).getString("result");
                         if (resutl.equals("true")) {
                             ToastMessage("预约成功!");
-                            invite(phone,"6e554e51-08de-443c-9b6c-f0d6d0d07bb4");
-                            invite(phone,"fd4ac30e-b176-4410-ac0e-e39c8b71dfe0");
+                            if (imId == 0) {
+                                invite(phone, "6e554e51-08de-443c-9b6c-f0d6d0d07bb4");
+                                invite(phone, "fd4ac30e-b176-4410-ac0e-e39c8b71dfe0");
+                            } else {
+                                invite(phone, "8636ba7f-a1b4-4062-8571-782035101167");
+                            }
                             startActivity(new Intent(BookingAddActivity.this, BookingListActivity.class)
                                     .putExtra("curDate", startTime));
                         } else {
@@ -420,7 +425,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
                     try {
                         if (JSON.parseObject(msg.getData().getString("result")).getString("result").equals("true")) {
                             ToastMessage(getString(R.string.make_adeal_success));
-                            
+
                             startActivity(new Intent(BookingAddActivity.this, BookingListActivity.class)
                                     .putExtra("curDate", model.getAb_starttime())
                             );
@@ -463,7 +468,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
     }
 
 
-    public  class GridDataAdapter extends BaseAdapter {
+    public class GridDataAdapter extends BaseAdapter {
 
         private Context ct;
         private List<DataState> mData = new ArrayList<>();
@@ -501,7 +506,7 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
 
         @Override
         public View getView(int position, View convertView, ViewGroup parent) {
-           GridDataAdapter.ViewModle modle = null;
+            GridDataAdapter.ViewModle modle = null;
 
             if (convertView == null) {
                 convertView = inflater.inflate(R.layout.item_simple_text, parent, false);
@@ -538,9 +543,9 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
     }
 
 
-    private void invite(String user,final String modeid) {
+    private void invite(String user, final String modeid) {
         final String name = CommonUtil.getName();
-        final String phone = user.trim().replaceAll(" ","");
+        final String phone = user.trim().replaceAll(" ", "");
         if (!com.xzjmyk.pm.activity.util.StringUtils.isMobileNumber(phone)) {
             showToast("选择人员电话号码为空或是格式不正确", R.color.load_submit);
             return;
@@ -554,13 +559,13 @@ public class BookingAddActivity extends OABaseActivity implements HttpImp, View.
         }, new StringJsonObjectRequest.Listener<AddAttentionResult>() {
             @Override
             public void onResponse(ObjectResult<AddAttentionResult> result) {
-               showToast("短信发送成功", R.color.load_submit);
-              
+                showToast("短信发送成功", R.color.load_submit);
+
             }
         }, AddAttentionResult.class, null) {
             @Override
             public byte[] getBody() throws AuthFailureError {
-                String param = "{\"receiver\":\"" + phone + "\",\"params\":[\"" + name + "\"],\"templateId\":\""+modeid+"\"}";
+                String param = "{\"receiver\":\"" + phone + "\",\"params\":[\"" + name + "\"],\"templateId\":\"" + modeid + "\"}";
                 LogUtil.i("param=" + param);
                 return param.getBytes();
             }

+ 8 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/ApprovalRVItemAdapter.java

@@ -27,7 +27,6 @@ import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.OpenFilesUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
-import com.xzjmyk.pm.activity.ui.erp.util.TextUtil;
 import com.xzjmyk.pm.activity.ui.tool.SingleImagePreviewActivity;
 import com.xzjmyk.pm.activity.util.CalendarUtils;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
@@ -127,7 +126,6 @@ public class ApprovalRVItemAdapter extends RecyclerView.Adapter<RecyclerView.Vie
                     public void onLoadIng(int progress, int allProgress) {
                         //TODO 下载进行中回调
                     }
-
                     @Override
                     public void onSuccess(File file) {
                         OpenFilesUtils.openCommonFils(ct, file);
@@ -144,22 +142,18 @@ public class ApprovalRVItemAdapter extends RecyclerView.Adapter<RecyclerView.Vie
 
     private void bindNodeView(NodeViewHolder holder, int position) {
         Approval.Item itemData = itemDatas.get(position);
+        int textColor = R.color.hintColor;
         if (!StringUtils.isEmpty(itemData.status)) {
-            if (itemData.status.contains("已审批")) {
-                TextUtil.create()
-                        .addSection(itemData.status)
-                        .tint(itemData.status, 0x969595)
-                        .showIn(holder.valuesTv);
-            } else {
-                TextUtil.create()
-                        .addSection(itemData.status)
-                        .tint("待审批", 0xB99400)
-                        .tint("未通过", 0xDC143C)
-                        .showIn(holder.valuesTv);
+            holder.valuesTv.setText(itemData.status);
+            if (itemData.status.startsWith("待审批")) {
+                textColor = R.color.approvaling;
+            } else if (itemData.status.startsWith("未通过")) {
+                textColor = R.color.crimson;
             }
         } else {
             holder.valuesTv.setText("");
         }
+        holder.valuesTv.setTextColor(ct.getResources().getColor(textColor));
         holder.timeTv.setText(StringUtils.isEmpty(itemData.values) ? "" : itemData.values);
         holder.keyTv.setText(StringUtils.isEmpty(itemData.caption) ? "" : itemData.caption);
         int reId = R.drawable.weishenpi;
@@ -308,7 +302,7 @@ public class ApprovalRVItemAdapter extends RecyclerView.Adapter<RecyclerView.Vie
             @Override
             public void onDatePicked(String year, String month, String day) {
                 String time = year + "-" + month + "-" + day;
-                LogUtil.i("time="+time);
+                LogUtil.i("time=" + time);
                 showView.setText(time);
                 itemDatas.get(position).values = time;
             }

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

@@ -659,6 +659,7 @@ public class ViewUtil {
      */
     public static void LoginSucess(Message msg) {
         String json = msg.getData().getString("result");
+        LogUtil.d("Test","管理平台登录:"+json);
         CommonUtil.setSharedPreferences(ct, "loginJson", json);
         String phone = msg.getData().getString("phone");
         String password = msg.getData().getString("password");

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

@@ -3,7 +3,6 @@ package com.xzjmyk.pm.activity.ui.erp.presenter;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
-import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -101,7 +100,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
     public ApprovaPresenter(IApproval iApproval, Intent intent) {
         this.iApproval = iApproval;
         if (intent != null) {
-            int id = intent.getIntExtra("id", -1);
+            int id = intent.getIntExtra("nodeid", -1);
             String imid = intent.getStringExtra("imid");
             title = intent.getStringExtra("title");
             if (id != -1) {
@@ -121,6 +120,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
         }
     }
 
+    public String getUrl(String title) {
+        LogUtil.i("title=" + title);
+        String endStatus = (StringUtils.isEmpty(title) || title.equals(OACheckUtil.getString(R.string.title_approval)) ? "" : "%26_do=1");
+        return "jsps/mobile/process.jsp?nodeId=" + record.nodeId + endStatus;
+    }
+
     public void initLoad() {
         initLoad(record.nodeId);
     }
@@ -524,8 +529,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 loadNextProcess();
                 break;
             case LOAD_END_PROCESS:
-                Toast.makeText(MyApplication.getInstance(), R.string.end_approval, Toast.LENGTH_SHORT).show();
-                iApproval.finish();
+                iApproval.endProcess();
                 break;
             case LOAD_PROCESS_UPDATE:
                 String nodeLog = null;
@@ -594,6 +598,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 String caller = OACheckUtil.getJson2Text(currentnode, "jp_caller");
                 if (keyValue != 0) {
                     record.id = keyValue;
+                    iApproval.setKeyValue(keyValue);
                 }
                 if (!StringUtils.isEmpty(title)) {
                     if (!StringUtils.isEmpty(recordName)) {
@@ -633,7 +638,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 OAHttpHelper.getInstance().post(new Runnable() {
                     @Override
                     public void run() {
-                        iApproval.showMainList(mainApproval);
+                        iApproval.showMainList(record.id,mainApproval);
                     }
                 });
             }
@@ -652,7 +657,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
             OAHttpHelper.getInstance().post(new Runnable() {
                 @Override
                 public void run() {
-                    iApproval.showDetailList(detailedList);
+                    iApproval.showDetailList(record.id,detailedList);
                     loadJnodes();
                 }
             });
@@ -801,7 +806,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                             reId = R.drawable.approved;
                         }
                         iApproval.showTitle(null, null, reId);
-                        iApproval.showNodeList(node);
+                        iApproval.showNodeList(record.id,node);
                     }
                 });
             }
@@ -825,7 +830,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
         enclosureApproval.setTitle("附件");
         enclosureApproval.setItems(enclosureList);
         enclosureApproval.setType(Approval.ENCLOSURE);
-        iApproval.showEnclosureList(enclosureApproval);
+        iApproval.showEnclosureList(record.id,enclosureApproval);
     }
 
 
@@ -906,7 +911,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 points.setItems(pointsList);
                 points.setType(Approval.POINTS);
                 points.setTitle(OACheckUtil.getString(R.string.approval_points));
-                iApproval.showPointsList(points);
+                iApproval.showPointsList(record.id,points);
             }
         }
     }
@@ -923,11 +928,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
      */
     private Approval.Item getItemBySetupTask(String cs, String[] datas) throws Exception {
         if (!StringUtils.isEmpty(cs)) {
-            LogUtil.i("cs=" + cs);
             Approval.Item itemData = new Approval.Item();
             String[] css = cs.split("\\^");
-            LogUtil.i("css[0]=" + css[0]);
-            LogUtil.i("css[1]=" + css[1]);
             if (!StringUtils.isEmpty(css[0])) {
                 itemData.caption = css[0];
                 String tag = css[1];
@@ -951,9 +953,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 }
                 if (datas != null && datas.length > 0 && !StringUtils.isEmpty(itemData.caption)) {
                     for (String data : datas) {
-                        if (data.contains(itemData.caption)) {
+                        if (data.startsWith(itemData.caption)) {
                             String values = OACheckUtil.getFirstBrackets(data);
-                            if (!StringUtils.isEmpty(values) && !values.equals("null") && !values.equals("(null)") && !values.equals("(null")) {
+                            if (!StringUtils.isEmpty(values)
+                                    && !values.equals("null")
+                                    && !values.equals("(null)")
+                                    && !values.equals("(null")) {
                                 itemData.values = values;
                             }
                         }
@@ -1034,7 +1039,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
                 if (approval.getType() == Approval.MAIN) {
                     formstore = putItem2Params(approval.getItems());
                     if (formstore == null)
-                        continue;
+                        return false;
                     formstore.put(approval.getIdKey(), approval.getId());
                     break;
                 }
@@ -1051,7 +1056,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
             for (Approval approval : approvals) {
                 if (approval.getType() == Approval.DETAIL) {
                     Map<String, Object> formstore = putItem2Params(approval.getItems());
-                    if (formstore == null || formstore.isEmpty()) continue;
+                    if (formstore == null)
+                        return false;
+                    if (formstore.isEmpty()) continue;
                     formstore.put(approval.getIdKey(), approval.getId());
                     params.add(formstore);
                 }
@@ -1068,12 +1075,17 @@ public class ApprovaPresenter implements OnHttpResultListener {
                     String message = OACheckUtil.getString(R.string.must_input_key) + " " + itemData.caption + " " + OACheckUtil.getString(R.string.is_must_input);
                     iApproval.showToast(message);
                     return null;
+                } else if (StringUtils.isEmpty(StringUtils.string2Json(itemData.values))) {
+                    String message = OACheckUtil.getString(R.string.must_input_key) + " " + itemData.caption + " " + OACheckUtil.getString(R.string.limit_unno_zijie);
+                    iApproval.showToast(message);
+                    return null;
                 } else {
                     boolean isputed = false;
                     for (Approval.Data data : itemData.datas) {
                         isputed = false;
                         if (data.display.equals(itemData.values)) {
-                            formstore.put(itemData.valuesKey, StringUtils.isEmpty(data.value) ? itemData.values : data.value);
+                            formstore.put(itemData.valuesKey,
+                                    StringUtils.isEmpty(data.value) ? itemData.values : data.value);
                             isputed = true;
                             break;
                         }

+ 9 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/imp/IApproval.java

@@ -16,15 +16,19 @@ public interface IApproval extends HttpImp {
 
     void showTitle(String imid, String title, int statusId);
 
-    void showMainList(Approval mainApproval);
+    void showMainList(int keyValue,Approval mainApproval);
 
-    void showDetailList(List<Approval> detailedList);
+    void showDetailList(int keyValue,List<Approval> detailedList);
 
-    void showNodeList(Approval nodes);
+    void showNodeList(int keyValue,Approval nodes);
 
-    void showPointsList(Approval points);
+    void showPointsList(int keyValue,Approval points);
 
-    void showEnclosureList(Approval enclosureApproval);
+    void showEnclosureList(int keyValue,Approval enclosureApproval);
 
     void initStatus();
+
+    void endProcess();
+
+    void setKeyValue(int keyValue);
 }

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

@@ -314,7 +314,7 @@ public class StringUtils {
 
     //将map对象传化未json串,上传表单使用
     public static String mapToJson(Map<String, Object> map) {
-        if (map == null||map.isEmpty()) return "";
+        if (map == null || map.isEmpty()) return "";
         StringBuilder builder = new StringBuilder("{\n");
         for (Map.Entry<String, Object> e : map.entrySet()) {
             builder.append("\"" + e.getKey() + "\":");

+ 5 - 0
WeiChat/src/main/res/menu/menu_aproval_set.xml

@@ -7,4 +7,9 @@
         app:showAsAction="always" />
 
 
+    <item
+        android:id="@+id/returnOld"
+        android:title="返回旧版"
+        android:icon="@drawable/qiehuan2"
+        app:showAsAction="ifRoom"  />
 </menu>

+ 2 - 2
WeiChat/src/main/res/raw/versionconfiguration.properties

@@ -1,3 +1,3 @@
 #发布版本状态改为true,测试版本状态为false
-release_version = false
-#release_version=true
+#release_version = false
+release_version=true

+ 1 - 0
WeiChat/src/main/res/values/colors.xml

@@ -279,6 +279,7 @@
     <color name="calendar_topbg">#ff836244</color>
     <color name="calendar_cellbg">#ff373737</color>
     <color name="hintColor">#969595</color>
+    <color name="approvaling">#B99400</color>
     <color name="main_red">#ffbe2e15</color>
     <color name="main_grey">#ff5f5f5f</color>
     <color name="huangTuSe">#ff995e2d</color>