Browse Source

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

FANGLH 9 years ago
parent
commit
e55888b323
20 changed files with 514 additions and 116 deletions
  1. 22 22
      WeiChat/src/main/AndroidManifest.xml
  2. 86 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/IntentBaseParam.java
  3. 64 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/SeachSelectParam.java
  4. 205 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/AddBusinessActivity.java
  5. 12 12
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  6. 14 13
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessStateActivity.java
  7. 0 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  8. 11 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddContactsActivity.java
  9. 10 12
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ChangeMobileActivity.java
  10. 25 23
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  11. 15 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SearchSelectActivity.java
  12. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/AddBusinessAdapter.java
  13. 4 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/oa/OAModel.java
  14. 12 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/MessagePresenter.java
  15. 4 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/WorkPresenter.java
  16. 7 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/OACheckUtil.java
  17. 13 0
      WeiChat/src/main/res/layout/activity_search_select.xml
  18. 0 1
      WeiChat/src/main/res/values-zh-rCN/strings.xml
  19. 6 4
      WeiChat/src/main/res/values-zh-rTW/strings.xml
  20. 1 1
      WeiChat/src/main/res/values/strings.xml

+ 22 - 22
WeiChat/src/main/AndroidManifest.xml

@@ -118,14 +118,14 @@
         android:label="@string/app_name"
         android:largeHeap="true"
         android:persistent="true"
-        android:theme="@style/AppTheme" >
+        android:theme="@style/AppTheme">
         <meta-data
             android:name="UMENG_CHANNEL"
             android:value="baidu" />
         <!-- 启动页面 -->
         <activity
             android:name=".ui.SplashActivity"
-            android:theme="@style/SplashTheme" >
+            android:theme="@style/SplashTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
@@ -137,7 +137,7 @@
         <!-- 异常跳转页面 -->
         <activity
             android:name=".CustomCrashActivity"
-            android:process=":error_activity" >
+            android:process=":error_activity">
             <intent-filter>
                 <action android:name="cat.ereza.customactivityoncrash.ERROR" />
             </intent-filter>
@@ -342,7 +342,7 @@
             android:exported="true"
             android:icon="@drawable/ic_chooser"
             android:label="@string/choose_file"
-            android:theme="@style/ChooserTheme" >
+            android:theme="@style/ChooserTheme">
             <intent-filter>
                 <action android:name="android.intent.action.GET_CONTENT" />
 
@@ -359,13 +359,13 @@
             android:enabled="@bool/use_provider"
             android:exported="true"
             android:grantUriPermissions="true"
-            android:permission="android.permission.MANAGE_DOCUMENTS" >
+            android:permission="android.permission.MANAGE_DOCUMENTS">
             <intent-filter>
                 <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
             </intent-filter>
         </provider>
 
-        <receiver android:name=".broadcast.ScrenLockedBroadCastReceiver" >
+        <receiver android:name=".broadcast.ScrenLockedBroadCastReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.SCREEN_OFF" />
                 <action android:name="android.intent.action.SCREEN_ON" />
@@ -400,7 +400,7 @@
             </intent-filter>
         </activity>
         -->
-        <activity android:name=".ui.message.SelectCardActivity" >
+        <activity android:name=".ui.message.SelectCardActivity">
             <intent-filter>
                 <action android:name="com.xzjmyk.pm.activity.ui.message.SelectCardActivity" />
             </intent-filter>
@@ -434,7 +434,7 @@
 
         <receiver
             android:name="com.baidu.autoupdatesdk.receiver.BDBroadcastReceiver"
-            android:exported="false" >
+            android:exported="false">
             <intent-filter>
                 <action android:name="com.baidu.autoupdatesdk.ACTION_NEW_UPDATE" />
                 <action android:name="com.baidu.autoupdatesdk.ACTION_DOWNLOAD_COMPLETE" />
@@ -615,7 +615,7 @@
         <activity
             android:name="com.tencent.tauth.AuthActivity"
             android:launchMode="singleTask"
-            android:noHistory="true" >
+            android:noHistory="true">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
 
@@ -633,7 +633,7 @@
         <activity
             android:name=".WBShareActivity"
             android:configChanges="keyboardHidden|orientation"
-            android:screenOrientation="portrait" >
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
 
@@ -667,8 +667,8 @@
         <!-- push必须的receviver和service声明 -->
         <receiver
             android:name="com.baidu.android.pushservice.PushServiceReceiver"
-            android:process=":bdservice_v1" >
-            <intent-filter android:priority="1000" >
+            android:process=":bdservice_v1">
+            <intent-filter android:priority="1000">
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                 <action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
@@ -684,8 +684,8 @@
         <!-- Push服务接收客户端发送的各种请求 -->
         <receiver
             android:name="com.baidu.android.pushservice.RegistrationReceiver"
-            android:process=":bdservice_v1" >
-            <intent-filter android:priority="1000" >
+            android:process=":bdservice_v1">
+            <intent-filter android:priority="1000">
                 <action android:name="com.baidu.android.pushservice.action.METHOD" />
                 <action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
             </intent-filter>
@@ -699,8 +699,8 @@
         <service
             android:name="com.baidu.android.pushservice.PushService"
             android:exported="true"
-            android:process=":bdservice_v1" >
-            <intent-filter android:priority="1000" >
+            android:process=":bdservice_v1">
+            <intent-filter android:priority="1000">
                 <action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
             </intent-filter>
         </service>
@@ -740,8 +740,8 @@
         -->
         <!-- push富媒体结束 -->
         <!-- push应用定义消息receiver声明 -->
-        <receiver android:name=".ui.PushNetMessageReceiver" >
-            <intent-filter android:priority="1000" >
+        <receiver android:name=".ui.PushNetMessageReceiver">
+            <intent-filter android:priority="1000">
 
                 <!-- 接收push消息 -->
                 <action android:name="com.baidu.android.pushservice.action.MESSAGE" />
@@ -752,7 +752,7 @@
         </receiver>
         <!-- 在百度开发者中心查询应用的API Key -->
 
-        <receiver android:name=".ui.erp.util.oa.DateTimeReceiver" >
+        <receiver android:name=".ui.erp.util.oa.DateTimeReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.DATE_CHANGED" />
             </intent-filter>
@@ -903,7 +903,7 @@
         <service
             android:name="com.xzjmyk.pm.newpedo.service.StepService"
             android:priority="1000"
-            android:process="com.spring.stepcount.service" >
+            android:process="com.spring.stepcount.service">
             <intent-filter>
 
                 <!-- 系统启动完成后会调用 -->
@@ -934,8 +934,8 @@
         <activity
             android:name=".ui.erp.activity.crm.AddBusinessActivity"
             android:label="@string/create_business" />
-        <activity android:name=".ui.erp.activity.setting.SelectLanguageActivity" >
-        </activity>
+        <activity android:name=".ui.erp.activity.setting.SelectLanguageActivity"></activity>
+        <activity android:name=".ui.erp.activity.oa.SearchSelectActivity"></activity>
     </application>
 
 </manifest>

+ 86 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/IntentBaseParam.java

@@ -0,0 +1,86 @@
+package com.xzjmyk.pm.activity.bean.oa;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Created by Bitliker on 2017/5/15.
+ */
+
+public class IntentBaseParam implements Parcelable {
+    public static final int DEFAULT_RESULTCODE = 0x51;//默认返回resultCode
+    public static final String DEFAULT_RESULTKEY = "resultKey";
+    protected boolean isShowSearchEdit;//是否显示搜索框,默认是显示
+    protected int resultCode;//返回码
+    protected String resultKey;//返回数据的map参数key
+    protected String title;//显示的标题
+
+
+    public IntentBaseParam() {
+
+    }
+
+    protected IntentBaseParam(Parcel in) {
+        isShowSearchEdit = in.readByte() != 0;
+        resultCode = in.readInt();
+        resultKey = in.readString();
+        title = in.readString();
+    }
+
+    public static final Creator<IntentBaseParam> CREATOR = new Creator<IntentBaseParam>() {
+        @Override
+        public IntentBaseParam createFromParcel(Parcel in) {
+            return new IntentBaseParam(in);
+        }
+
+        @Override
+        public IntentBaseParam[] newArray(int size) {
+            return new IntentBaseParam[size];
+        }
+    };
+
+    public boolean isShowSearchEdit() {
+        return isShowSearchEdit;
+    }
+
+    public void setShowSearchEdit(boolean showSearchEdit) {
+        isShowSearchEdit = showSearchEdit;
+    }
+
+    public int getResultCode() {
+        return resultCode;
+    }
+
+    public void setResultCode(int resultCode) {
+        this.resultCode = resultCode;
+    }
+
+    public String getResultKey() {
+        return resultKey;
+    }
+
+    public void setResultKey(String resultKey) {
+        this.resultKey = resultKey;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeByte((byte) (isShowSearchEdit ? 1 : 0));
+        dest.writeInt(resultCode);
+        dest.writeString(resultKey);
+        dest.writeString(title);
+    }
+}

+ 64 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/oa/SeachSelectParam.java

@@ -0,0 +1,64 @@
+package com.xzjmyk.pm.activity.bean.oa;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * Created by Bitliker on 2017/5/15.
+ */
+
+public class SeachSelectParam extends IntentBaseParam implements Parcelable {
+
+    private String url;
+    private HashMap<String, Object> param;
+    private ArrayList<SelectBean> selectBeen = null;
+
+    public SeachSelectParam() {
+        super();
+    }
+
+
+
+    protected SeachSelectParam(Parcel in) {
+        url = in.readString();
+        param = (HashMap<String, Object>) in.readSerializable();
+        selectBeen = in.createTypedArrayList(SelectBean.CREATOR);
+        isShowSearchEdit = in.readByte() != 0;
+        resultCode = in.readInt();
+        resultKey = in.readString();
+        title = in.readString();
+    }
+
+    public static final Creator<SeachSelectParam> CREATOR = new Creator<SeachSelectParam>() {
+        @Override
+        public SeachSelectParam createFromParcel(Parcel in) {
+            return new SeachSelectParam(in);
+        }
+
+        @Override
+        public SeachSelectParam[] newArray(int size) {
+            return new SeachSelectParam[size];
+        }
+    };
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(url);
+        dest.writeSerializable(param);
+        dest.writeTypedList(selectBeen);
+        dest.writeByte((byte) (isShowSearchEdit ? 1 : 0));
+        dest.writeInt(resultCode);
+        dest.writeString(resultKey);
+        dest.writeString(title);
+    }
+
+
+}

+ 205 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/AddBusinessActivity.java

@@ -2,34 +2,53 @@ package com.xzjmyk.pm.activity.ui.erp.activity.crm;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baidu.mapapi.model.LatLng;
 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.ui.erp.activity.oa.OABaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectAimActivity;
 import com.xzjmyk.pm.activity.ui.erp.adapter.oa.AddBusinessAdapter;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.SelectAimModel;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
 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.PopupWindowHelper;
 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.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.ToastUtil;
 import com.xzjmyk.pm.activity.view.MyListView;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
 
 /**
  * 创建商机
  * Created by Bitliker on 2017/5/8.
  */
-public class AddBusinessActivity extends OABaseActivity implements View.OnClickListener {
-
+public class AddBusinessActivity extends OABaseActivity implements View.OnClickListener, OnHttpResultListener {
+    private final int LOAD_ID = 0x201;
+    private final int LOAD_CODE = 0x202;
     private final int SELECT_COMPANY = 0x761;
     private final int SELECT_REMARK = 0x762;
+    private final int SAVE_BUSINESS = 0x763;
+    private final int LOAD_BUSINESS_CHANCESTAGE = 0x764;
     @ViewInject(R.id.company_tv)
     private TextView company_tv;
     @ViewInject(R.id.company_add_tv)
@@ -39,7 +58,7 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
     @ViewInject(R.id.contact_lv)
     private MyListView contact_lv;
     private AddBusinessAdapter adapter;
-
+    private LatLng latLng;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -63,6 +82,7 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         findViewById(R.id.remark_tv).setOnClickListener(this);
         findViewById(R.id.additem_tv).setOnClickListener(this);
         findViewById(R.id.submit_btn).setOnClickListener(this);
+
     }
 
     @Override
@@ -70,7 +90,7 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         Intent intent = null;
         switch (v.getId()) {
             case R.id.company_tv:
-                intent = new Intent(ct, SelectAimActivity.class);
+                intent = new Intent(ct, SelectAimActivity.class).putExtra("type", 1);
                 startActivityForResult(intent, SELECT_COMPANY);
                 break;
             case R.id.remark_tv:
@@ -81,16 +101,22 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
                 adapter.notifyDataSetChanged();
                 break;
             case R.id.submit_btn:
-                List<AddBusinessAdapter.Contact> contacts = adapter.getContacts();
-                if (ListUtils.isEmpty(contacts)) return;
-                for (AddBusinessAdapter.Contact e : contacts) {
-                    LogUtil.d("name=" + e.name);
-                    LogUtil.d("phone=" + e.phone);
+                if (canSubmit()) {
+                    getIdByNet();
                 }
                 break;
         }
     }
 
+    private boolean canSubmit() {
+        if (TextUtils.isEmpty(company_tv.getText())) return false;
+        if (adapter == null || ListUtils.getSize(adapter.getContacts()) <= 0) return false;
+        for (AddBusinessAdapter.Contact e : adapter.getContacts()) {
+            if (!StringUtils.isEmpty(e.name) && !StringUtils.isEmpty(e.phone)) return true;
+        }
+        return false;
+    }
+
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -99,11 +125,17 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         switch (requestCode) {
             case SELECT_COMPANY:
                 SelectAimModel entity = data.getParcelableExtra("data");
+                AddBusinessActivity.this.latLng = entity.getLatLng();
                 PopupWindowHelper.create(this, getString(R.string.perfect_company_name), entity, new PopupWindowHelper.OnClickListener() {
                     @Override
                     public void result(SelectAimModel model) {
                         company_tv.setText(model.getName());
                         company_add_tv.setText(model.getAddress());
+                        if (new JsonValidator().validate(model.getObject())) {
+                            JSONObject object = JSON.parseObject(model.getObject());
+                            String code = OACheckUtil.getJson2Text(object, "CU_CODE");
+                            company_tv.setTag(code);
+                        }
                     }
                 });
                 break;
@@ -115,4 +147,167 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         }
     }
 
+
+    private void getIdByNet() {
+        if (!MyApplication.getInstance().isNetworkActive()) {
+            ToastUtil.showToast(ct, R.string.networks_out);
+            return;
+        }
+        progressDialog.show();
+        Map<String, Object> param = new HashMap<>();
+        param.put("seq", "VISITRECORD_SEQ");
+        Request request = new Request.Bulider()
+                .setWhat(LOAD_ID)
+                .setUrl("common/getId.action")
+                .setParam(param)
+                .setMode(Request.Mode.GET)
+                .bulid();
+        OAHttpHelper.getInstance().requestHttp(request, this);
+    }
+
+    private void getCodeByNet(Bundle bundle) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("type", 2);
+        param.put("caller", "VisitRecord");
+        Request request = new Request.Bulider()
+                .setWhat(LOAD_CODE)
+                .setUrl("common/getCodeString.action")
+                .setParam(param)
+                .setBundle(bundle)
+                .setMode(Request.Mode.GET)
+                .bulid();
+        OAHttpHelper.getInstance().requestHttp(request, this);
+    }
+
+
+    private void loadBusinessChanceStage(Bundle bundle) {
+        String url = "mobile/crm/getBusinessChanceStage.action";
+        Map<String, Object> param = new HashMap<>();
+        param.put(" condition", "1=1");
+        Request request = new Request.Bulider()
+                .setWhat(LOAD_BUSINESS_CHANCESTAGE)
+                .setParam(param)
+                .setUrl(url)
+                .setBundle(bundle)
+                .bulid();
+        OAHttpHelper.getInstance().requestHttp(request, this);
+    }
+
+    private void saveBusiness(Bundle bundle) {
+        String url = "crm/chance/saveBusinessChance.action";
+        Map<String, Object> param = new HashMap<>();
+        param.put("caller", "BusinessChance");
+        param.put("formStore", StringUtils.mapToJson(getFormStore(bundle)));
+        Request request = new Request.Bulider()
+                .setWhat(SAVE_BUSINESS)
+                .setParam(param)
+                .setUrl(url)
+                .bulid();
+        OAHttpHelper.getInstance().requestHttp(request, this);
+    }
+
+    private void saveContact(List<AddBusinessAdapter.Contact> contacts) {
+        List<Map<String, Object>> formStores = new ArrayList<>();
+        String cuname = company_tv.getText().toString();
+        String cuCode = (String) company_tv.getTag();
+        for (AddBusinessAdapter.Contact e : contacts) {
+            if (!StringUtils.isEmpty(e.name))
+                formStores.add(CommonInterface.getInstance().getFormStoreContact(e.name, e.phone, cuname, cuCode, ""));
+        }
+        CommonInterface.getInstance().addContact(formStores, this);
+    }
+
+    @Override
+    public void result(int what, boolean isJSON, String message, Bundle bundle) {
+        if (!isJSON) return;
+        JSONObject object = JSON.parseObject(message);
+        if (bundle == null) bundle = new Bundle();
+        switch (what) {
+            case LOAD_ID:
+                int id = OACheckUtil.getJsonIntager(object, "id");
+                bundle.putInt("bc_id", id);
+                getCodeByNet(bundle);
+                break;
+            case LOAD_CODE://获取编号
+                String code = object.getString("code");
+                bundle.putString("bc_code", code);
+                loadBusinessChanceStage(bundle);
+                break;
+            case SAVE_BUSINESS:
+                progressDialog.dismiss();
+                if (object.containsKey("success") && object.getBoolean("success")) {
+                    ToastUtil.showToast(ct, R.string.save_success);
+                    finish();
+                }
+                break;
+            case LOAD_BUSINESS_CHANCESTAGE:
+                JSONArray stages = object.getJSONArray("stages");
+                String bs_name = "";
+                if (ListUtils.getSize(stages) > 0)
+                    bs_name = stages.getJSONObject(0).getString("BS_NAME");
+                bundle.putString("BS_NAME", bs_name);
+                saveBusiness(bundle);
+                break;
+
+        }
+    }
+
+    @Override
+    public void error(int what, String message, Bundle bundle) {
+        progressDialog.dismiss();
+    }
+
+    public Map<String, Object> getFormStore(Bundle bundle) {
+        String bc_contact = "";
+        String bc_tel = "";
+        String bc_currentprocess = "";
+        String bc_code = "";
+        int bc_id = 0;
+        if (bundle != null) {
+            bc_id = bundle.getInt("bc_id");
+            bc_code = bundle.getString("bc_code");
+            bc_currentprocess = bundle.getString("BS_NAME");
+        }
+        if (adapter != null && ListUtils.getSize(adapter.getContacts()) > 0) {
+            saveContact(adapter.getContacts());
+            AddBusinessAdapter.Contact contact = adapter.getContacts().get(0);
+            bc_contact = contact.name;
+            bc_tel = contact.phone;
+        }
+        String name = CommonUtil.getName();
+        String company = company_tv.getText().toString();
+        String address = company_tv.getText().toString();
+        String time = TimeUtils.f_long_2_str(System.currentTimeMillis());
+        Map<String, Object> formStore = new HashMap<>();
+        formStore.put("bc_id", bc_id);
+        formStore.put("bc_code", bc_code);
+        formStore.put("bc_doman", name);
+        formStore.put("bc_domancode", CommonUtil.getEmcode());
+        formStore.put("bc_statuscode", "AUDITED");
+        formStore.put("bc_status", getString(R.string.status_approved));
+        formStore.put("bc_recorder", name);
+        formStore.put("bc_recorddate", time);
+        formStore.put("bc_lastdate", time);
+        formStore.put("bc_description", company);
+        formStore.put("bc_custname", company);
+        formStore.put("bc_address", address);
+        formStore.put("bc_desc6", address);
+        if (latLng != null) {
+            formStore.put("bc_longitude", latLng.longitude);
+            formStore.put("bc_latitude", latLng.latitude);
+        }
+        formStore.put("bc_contact", bc_contact);
+        formStore.put("bc_tel", bc_tel);
+        formStore.put("bc_currentprocess", bc_currentprocess);
+        formStore.put("bc_remark", remark_tv.getText().toString());
+        formStore.put("bc_date7", TimeUtils.s_long_2_str(System.currentTimeMillis()));
+        formStore.put("bc_desc8", "");//成本金额
+        formStore.put("bc_desc4", "");//部门
+        formStore.put("bc_desc5", "");//岗位
+        formStore.put("bc_from", "");// 商机来源
+        formStore.put("bc_nichehouse", "");//商机库
+        return formStore;
+    }
+
+
 }

+ 12 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java

@@ -160,14 +160,13 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_about,menu);
+//        getMenuInflater().inflate(R.menu.menu_about, menu);
         return super.onCreateOptionsMenu(menu);
     }
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId()==R.id.delete){
-            //TODO 删除商机
+        if (item.getItemId() == R.id.app_about) {
             PopupWindowHelper.showAlart(this, null, getString(R.string.sure_delete_bc), new PopupWindowHelper.OnSelectListener() {
                 @Override
                 public void select(boolean selectOk) {
@@ -177,6 +176,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         }
         return super.onOptionsItemSelected(item);
     }
+
     private void initView() {
         ViewUtils.inject(this);
         getSupportActionBar().setTitle("商机详情");
@@ -293,8 +293,9 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                     position = position + 1;
                     switch (position) {
                         case 1:
-                            //TODO gongpengming by 5.5 修改为弹出选择释放到的商机库
-                            loadNichehouse();
+                            sendHttpResquestRelease(null, BUSINESS_RELEASE);
+                            //TODO 发布版本隐藏
+//                            loadNichehouse();
                             popupWindow.dismiss();
 //                            new MaterialDialog.Builder(ct).title("系统提示")
 //                                    .content("确定释放这个商机?")
@@ -376,18 +377,20 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         Log.i("Arison", "parent width:" + parent.getHeight());
         popupWindow.showAtLocation(parent.findViewById(R.id.bt_manage_go), Gravity.NO_GRAVITY, location[0],
                 location[1] - popupWindow.getHeight() - 5);
-
 //        popupWindow.showAsDropDown(parent,windowManager.getDefaultDisplay().getWidth()
 //        ,0);
     }
 
     /*处理商机库并显示选择*/
     private void handlerAndShowNichehouse(JSONArray array) {
-        if (ListUtils.isEmpty(array)) return;//TODO 商机库没有数据
+        if (ListUtils.isEmpty(array)) {
+            sendHttpResquestRelease(null, BUSINESS_RELEASE);
+            return;
+        }
         final PopupWindow window = new PopupWindow(ct);
         final View view = LayoutInflater.from(ct).inflate(R.layout.pop_radio_list, null);
         window.setContentView(view);
-        PopupWindowHelper.setPopupWindowHW(this,window);
+        PopupWindowHelper.setPopupWindowHW(this, window);
         window.setFocusable(true);
         final ListView list = (ListView) view.findViewById(R.id.pop_list);
         final PopListAdapter adapter = new PopListAdapter(getNichehouseData(array));
@@ -404,9 +407,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                 window.dismiss();
                 for (SelectBean e : adapter.getBeanList()) {
                     if (e.isClick()) {
-                        //TODO 释放商机,接口还未发布,先隐藏
-//                        sendHttpResquestRelease(e.getName(), BUSINESS_RELEASE);
-                        sendHttpResquestRelease(null, BUSINESS_RELEASE);
+                        sendHttpResquestRelease(e.getName(), BUSINESS_RELEASE);
                         return;
                     }
                 }
@@ -680,7 +681,6 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, LOAD_NICHEHOUSE, null, null, "post");
-
     }
 
     private void sendHttpResquest(int what, String formCondition, String gridCondition) {

+ 14 - 13
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessStateActivity.java

@@ -51,7 +51,7 @@ import java.util.Map;
 /**
  * 商机跟进页面
  */
-public class BusinessStateActivity extends BaseActivity implements View.OnClickListener ,RecognizerDialogListener{
+public class BusinessStateActivity extends BaseActivity implements View.OnClickListener, RecognizerDialogListener {
 
     private BussinessDetailAdapter mAdapter;
     @ViewInject(R.id.ll_top_state)
@@ -82,7 +82,7 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_business_qiang_activty);
         initView();
-       // initData();
+        // initData();
         initListener();
     }
 
@@ -160,9 +160,10 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 final BussinessDetailAdapter.ViewHolder holder = (BussinessDetailAdapter.ViewHolder) view.getTag();
                 startActivity(new Intent(ct, BusinessDetailInfoActivity.class)
-                                .putExtra("type", holder.type)
-                                .putExtra("formCondition", formCondition + "=" + holder.bc_id)
-                                .putExtra("gridCondition", gridCondition + "=" + holder.bc_id)
+                        .putExtra("type", holder.type)
+                        .putExtra("formCondition", formCondition + "=" + holder.bc_id)
+                        .putExtra("gridCondition", gridCondition + "=" + holder.bc_id)
+                        .putExtra("id", holder.bc_id)
                 );
             }
         });
@@ -198,7 +199,7 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
             }
         });
 
-        final VoiceToWord voice = new VoiceToWord(BusinessStateActivity.this,"534e3fe2");
+        final VoiceToWord voice = new VoiceToWord(BusinessStateActivity.this, "534e3fe2");
         voice.setRecognizerDialogListener(this);  //自己调用自己
 
         voice_search.setOnClickListener(new View.OnClickListener() {
@@ -237,28 +238,28 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
                 updateTabSelectState((TextView) v.findViewById(R.id.tv_unmanger));
                 business_state = 0;
                 page = 1;
-              //  mAdapter=null;
+                //  mAdapter=null;
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
                 break;
             case R.id.tv_manged:
                 updateTabSelectState((TextView) v.findViewById(R.id.tv_manged));
                 business_state = 1;
                 page = 1;
-               // mAdapter=null;
+                // mAdapter=null;
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
                 break;
             case R.id.tv_timeout:
                 updateTabSelectState((TextView) v.findViewById(R.id.tv_timeout));
                 business_state = 2;
                 page = 1;
-               // mAdapter=null;
+                // mAdapter=null;
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
                 break;
             case R.id.tv_transtered:
                 updateTabSelectState((TextView) v.findViewById(R.id.tv_transtered));
                 business_state = 3;
                 page = 1;
-               // mAdapter=null;
+                // mAdapter=null;
                 sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
                 break;
         }
@@ -356,7 +357,7 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
                 @Override
                 public void onClick(View v) {
                     if (mdata.get(position).getType() == 1) {
-                        startActivity(new Intent(ct, BusinessDetailInfoActivity.class));
+                        startActivity(new Intent(ct, BusinessDetailInfoActivity.class).putExtra("id", mdata.get(position).getBc_id()));
                     } else if (mdata.get(position).getType() == 2) {
                         startActivityForResult(new Intent(ct, DbfindListActivity.class), 1);
                     }
@@ -437,7 +438,7 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
             @Override
             protected void publishResults(CharSequence constraint, FilterResults results) {
                 mdata = (ArrayList<Business>) results.values;
-                mData=mdata;
+                mData = mdata;
 //                if (mAdapter.getCount() > 0) {
                 notifyDataSetChanged();
 //                } else {
@@ -467,7 +468,7 @@ public class BusinessStateActivity extends BaseActivity implements View.OnClickL
                     int countb = JSON.parseObject(msg.getData().getString("result")).getInteger("countb");
                     int countc = JSON.parseObject(msg.getData().getString("result")).getInteger("countc");
                     int countd = JSON.parseObject(msg.getData().getString("result")).getInteger("countd");
-                    CommonUtil.textSpanForStyle(tv_unmanger, counta +getString(R.string.Unscheduled_schedule), String.valueOf(counta), ct.getResources().getColor(R.color.yellow_home));
+                    CommonUtil.textSpanForStyle(tv_unmanger, counta + getString(R.string.Unscheduled_schedule), String.valueOf(counta), ct.getResources().getColor(R.color.yellow_home));
                     CommonUtil.textSpanForStyle(tv_manged, countb + getString(R.string.Has_been_scheduled), String.valueOf(countb), ct.getResources().getColor(R.color.yellow_home));
                     CommonUtil.textSpanForStyle(tv_timeout, countc + getString(R.string.Will_time_out), String.valueOf(countc), ct.getResources().getColor(R.color.yellow_home));
                     CommonUtil.textSpanForStyle(tv_transtered, countd + getString(R.string.Has_switched_customers), String.valueOf(countd), ct.getResources().getColor(R.color.yellow_home));

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

@@ -1073,7 +1073,6 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
 //                                startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
 //                            else
 //                                startActivity(new Intent(ClientActivity.this, AddBusinessActivity.class));
-
                             break;
                         case 1:
                             startActivity(new Intent(ClientActivity.this, CustomerAddActivity.class));

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

@@ -57,6 +57,7 @@ public class AddContactsActivity extends BaseActivity implements View.OnClickLis
     private Uri mNewPhotoUri;
     private PopupWindow imagePopWindow;
     private File imageFile;
+    private boolean submiting = false;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -109,6 +110,7 @@ public class AddContactsActivity extends BaseActivity implements View.OnClickLis
 
 
     private void submit() {
+        submiting = true;
         List<Map<String, Object>> formStores = new ArrayList<>();
         formStores.add(CommonInterface.getInstance().getFormStoreContact(
                 name_et.getText().toString(),
@@ -122,6 +124,7 @@ public class AddContactsActivity extends BaseActivity implements View.OnClickLis
     private boolean canSubmit() {
         if (!name_et.testValidity() || !position_et.testValidity() || !mobile_et.testValidity())
             return false;
+        if (submiting) return false;
         return true;
     }
 
@@ -207,8 +210,11 @@ public class AddContactsActivity extends BaseActivity implements View.OnClickLis
         if (isJSON) {
             switch (what) {
                 case CommonInterface.ADD_CONTACT:
+                    submiting = false;
                     ToastUtil.showToast(ct, R.string.save_success);
-                    //TODO 保存成功后
+                    name_et.setText("");
+                    position_et.setText("");
+                    mobile_et.setText("");
                     break;
             }
         }
@@ -216,6 +222,9 @@ public class AddContactsActivity extends BaseActivity implements View.OnClickLis
 
     @Override
     public void error(int what, String message, Bundle bundle) {
-
+        if (what == CommonInterface.ADD_CONTACT) {
+            submiting = false;
+            ToastUtil.showToast(ct, R.string.save_failed);
+        }
     }
 }

+ 10 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ChangeMobileActivity.java

@@ -27,6 +27,7 @@ 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.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OnHttpResultListener;
@@ -91,14 +92,7 @@ public class ChangeMobileActivity extends BaseActivity {
                 case 0x13://申请补卡申诉
                     submitOk = true;
                     if (JSON.parseObject(message).containsKey("success") && JSON.parseObject(message).getBoolean("success")) {
-                        if (isB2b) {
-                            endActivity();
-                        } else {
-                            int ms_id = JSON.parseObject(message).getInteger("ms_id");
-                            Log.d("hims_id", ms_id + "");
-                            judgeApprovers(ms_id);
-                        }
-
+                        endActivity();
                     } else {
                         Crouton.makeText(ct, "未知错误");
                     }
@@ -106,8 +100,8 @@ public class ChangeMobileActivity extends BaseActivity {
                 case 0x14://获取审批人列表
                     if (!StringUtils.isEmpty(message) && new JsonValidator().validate(message)) {
                         JSONObject object = JSON.parseObject(message);
-                        if (object.containsKey("assigns")) {
-                            JSONArray array = JSON.parseObject(message).getJSONArray("assigns");
+                        if (object.containsKey("assigns") && !ListUtils.isEmpty(object.getJSONArray("assigns"))) {
+                            JSONArray array = object.getJSONArray("assigns");
                             JSONObject o = array.getJSONObject(0);
                             String noid = "";
                             if (o != null && o.containsKey("JP_NODEID")) {
@@ -238,6 +232,7 @@ public class ChangeMobileActivity extends BaseActivity {
         });
     }
 
+    /*获取审批人列表*/
     private void judgeApprovers(int id) {
         String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "common/getMultiNodeAssigns.action";
         Map<String, Object> param = new HashMap<>();
@@ -289,7 +284,7 @@ public class ChangeMobileActivity extends BaseActivity {
         ViewUtil.httpSendRequest(ct, url, param, handler, headers, 0x13, null, null, "post");
     }
 
-    /*申请申诉*/
+    /*补卡申请申诉*/
     private void suppleSignin(String message) {
         progressDialog.show();
         String url = "mobile/oa/saveAndSubmitMobileSignCard.action";
@@ -320,7 +315,10 @@ public class ChangeMobileActivity extends BaseActivity {
         OAHttpHelper.getInstance().requestHttp(request, new OnHttpResultListener() {
             @Override
             public void result(int what, boolean isJSON, String message, Bundle bundle) {
-                endActivity();
+//                endActivity();
+                int ms_id = JSON.parseObject(message).getInteger("ms_id");
+                Log.d("hims_id", ms_id + "");
+                judgeApprovers(ms_id);
                 submiting = false;
                 progressDialog.dismiss();
             }

+ 25 - 23
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java

@@ -174,7 +174,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     private int posItem;           //当前为滑动到的哪个Viewpager
     List<Map<String, Object>> menusMap = new ArrayList<>();//菜单动态数据
 
-    private String caller_workextra,caller_travel;
+    private String caller_workextra, caller_travel;
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -183,8 +183,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     ViewUtil.ToastMessage(OAActivity.this, getString(R.string.common_refresh_finish), Style.holoGreenLight, 2000);
                     mPullToRefreshScrollView.onRefreshComplete();
                 }
-                if (progressDialog != null && progressDialog.isShowing())
-                    progressDialog.dismiss();
                 String message = (String) msg.getData().get("result");
                 if (!new JsonValidator().validate(message)) return;
                 final JSONObject jsonObject = parseObject(message);
@@ -195,6 +193,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                             return;
                         }
                         handlerDataInThread(jsonObject);
+                        progressDialog.dismiss();
                         break;
                     case 0x12://获取下属列表
                         JSONArray array = JSON.parseObject(message).getJSONArray("datas");//获取到数据
@@ -215,27 +214,27 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                                 temp.put("item_caller", MM_CALLER);
                                 menusMap.add(temp);
                             }
-
                         }
                         break;
                     case 0x15:
                         try {
                             array = JSON.parseObject(message).getJSONArray("listdata");//获取到数据
-                            if (array!=null){
-                                if (array.size()>0){
-                                    for (int i=0;i<array.size();i++){
-                                        JSONObject jb=array.getJSONObject(i);
-                                        if ("加班申请".equals(jb.getString("MO_NAME"))){
-                                            caller_workextra =   jb.getString("MO_CALLER");
+                            if (array != null) {
+                                if (array.size() > 0) {
+                                    for (int i = 0; i < array.size(); i++) {
+                                        JSONObject jb = array.getJSONObject(i);
+                                        if ("加班申请".equals(jb.getString("MO_NAME"))) {
+                                            caller_workextra = jb.getString("MO_CALLER");
                                         }
-                                        if ("出差申请".equals(jb.getString("MO_NAME"))){
-                                            caller_travel  =  jb.getString("MO_CALLER");
+                                        if ("出差申请".equals(jb.getString("MO_NAME"))) {
+                                            caller_travel = jb.getString("MO_CALLER");
                                         }
                                     }
                                 }
                             }
                         } catch (Exception e) {
                             e.printStackTrace();
+                            progressDialog.dismiss();
                         }
                         break;
                     default:
@@ -266,13 +265,16 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                                 }
                             }
                         } catch (Exception e) {
-
+                            progressDialog.dismiss();
                         }
+                        progressDialog.dismiss();
                         break;
                 }
             } catch (Exception e) {
                 if (e != null)
                     LogUtil.i("msg.what=" + msg.what + "  " + e.getMessage());
+                progressDialog.dismiss();
+
             }
         }
     };
@@ -572,7 +574,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
 
-    private void handlerDataInThread(final JSONObject jsonObject) {
+    private void handlerDataInThread(final JSONObject jsonObject) throws Exception {
         ThreadUtil.getInstance().addTask(new Runnable() {
             @Override
             public void run() {
@@ -942,10 +944,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                 if (ApiUtils.getApiModel() instanceof ApiPlatform) {
                     startActivity(new Intent(activity, TravelActivity.class));
                 } else if (ApiUtils.getApiModel() instanceof ApiUAS) {
-                    if (StringUtils.isEmpty(caller_travel)){
+                    if (StringUtils.isEmpty(caller_travel)) {
                         startActivity(new Intent(activity, DataFormDetailActivity.class)
                                 .putExtra("caller", "FeePlease!CCSQ"));
-                    }else{
+                    } else {
                         startActivity(new Intent(activity, DataFormDetailActivity.class)
                                 .putExtra("caller", caller_travel));
                     }
@@ -955,14 +957,14 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                 if (ApiUtils.getApiModel() instanceof ApiPlatform) {
                     startActivity(new Intent(activity, WorkExtraActivity.class));
                 } else if (ApiUtils.getApiModel() instanceof ApiUAS) {
-                    if (StringUtils.isEmpty(caller_workextra)){
+                    if (StringUtils.isEmpty(caller_workextra)) {
                         startActivity(new Intent(activity, DataFormDetailActivity.class)
                                 .putExtra("caller", "Workovertime"));
-                    }else{
+                    } else {
                         startActivity(new Intent(activity, DataFormDetailActivity.class)
                                 .putExtra("caller", caller_workextra));
                     }
-                   
+
                 }
                 break;
             case R.id.oamain_special_attendance_tv://特殊考勤
@@ -1058,10 +1060,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
     /**
-      * @desc:获取动态caller
-      * @author:Arison on 2017/5/11
-      */
-    public void getOrdersCall(){
+     * @desc:获取动态caller
+     * @author:Arison on 2017/5/11
+     */
+    public void getOrdersCall() {
         String url = CommonUtil.getSharedPreferences(ct, "erp_baseurl") + "mobile/oa/getoaconifg.action";
         final Map<String, Object> param = new HashMap<>();
         param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));

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

@@ -0,0 +1,15 @@
+package com.xzjmyk.pm.activity.ui.erp.activity.oa;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+import com.xzjmyk.pm.activity.R;
+
+public class SearchSelectActivity extends AppCompatActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_search_select);
+    }
+}

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/AddBusinessAdapter.java

@@ -17,9 +17,8 @@ import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import java.util.List;
 
 /**
- * Created by Bitliker on 2017/5/8.
+ * Created by Bitliker on 2017/5/8
  */
-
 public class AddBusinessAdapter extends BaseAdapter {
 
 
@@ -81,7 +80,8 @@ public class AddBusinessAdapter extends BaseAdapter {
         holder.delete_tv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-
+                contacts.remove(contact);
+                notifyDataSetChanged();
             }
         });
         return convertView;

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

@@ -172,7 +172,7 @@ public class OAModel {
 
     public int getDay() {
         Calendar c = Calendar.getInstance();
-        long time = getTime(startdate, recorddate, enddate);
+        long time = getTime(recorddate, startdate, enddate);
         if (time == 0) {
             return -1;
         }
@@ -193,11 +193,11 @@ public class OAModel {
     /*获取显示时间,yyyy-MM-dd*/
     public String getFilterTime() {
         long time = 0;
-        if (startdate > 0)
-            time = startdate;
+        if (recorddate > 0)
+            time = recorddate;
         else if (enddate > 0)
             time = enddate;
-        else time = recorddate;
+        else time = startdate;
         return TimeUtils.s_long_2_str(time);
     }
 

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

@@ -423,20 +423,30 @@ public class MessagePresenter implements OnHttpResultListener {
     }
 
     private void handlerSub(final JSONObject object) {
-        if (!StringUtils.isEmpty(subReadTime) && subReadTime.compareTo(TimeUtils.s_long_2_str(System.currentTimeMillis())) >= 0)
+        if (!StringUtils.isEmpty(subReadTime) && subReadTime.compareTo(TimeUtils.s_long_2_str(System.currentTimeMillis())) >= 0) {
+            showsubsNum(0, "", "");
             return;
+        }
         List<SubscriptionMessage> messages = null;
         int num = 0;
         if (object.containsKey("data")) {
             messages = JSON.parseArray(object.getJSONArray("data").toJSONString(), SubscriptionMessage.class);
+            if (ListUtils.isEmpty(messages)) {
+                showsubsNum(0, "", "");
+                return;
+            }
             for (SubscriptionMessage e : messages) {
                 if (e.getSTATUS_() == 0)
                     num += 1;
             }
         }
+        showsubsNum(num, messages.get(0).getTITLE_(), messages.get(0).getCREATEDATE_());
+    }
+
+    private void showsubsNum(int num, String title, String time) {
         subsNum = num;
         updateForUnReader();
-        iMessageView.updateHeaderView(2, num, num > 0 ? messages.get(0).getTITLE_() : "", messages.get(0).getCREATEDATE_());
+        iMessageView.updateHeaderView(2, num, num > 0 ? title : "", time);
     }
 
     private void saveSubs2Db(JSONObject o) throws Exception {

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

@@ -375,12 +375,11 @@ public class WorkPresenter implements OnHttpResultListener, IWorkPresenter {
         //获取当前最近的位置信息
         if (!ListUtils.isEmpty(locationList)) {
             float dis = 0;
+            boolean first=true;
             for (WorkLocationModel location : locationList) {
-                if (dis == 0) {
-                    dis = BaiduMapUtil.getInstence().autoDistance(location.getLocation());
-                    companyLocation = location;
-                } else if (dis > BaiduMapUtil.getInstence().autoDistance(location.getLocation())) {
-                    dis = BaiduMapUtil.getInstence().autoDistance(location.getLocation());
+                float distance=BaiduMapUtil.getInstence().autoDistance(location.getLocation());
+                if (first||dis > distance) {
+                    dis =distance;
                     companyLocation = location;
                 }
             }

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

@@ -1,5 +1,7 @@
 package com.xzjmyk.pm.activity.ui.erp.util;
 
+import android.text.Html;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -24,7 +26,11 @@ public class OACheckUtil {
         for (String key : keys) {
             if (!object.containsKey(key) || StringUtils.isEmpty(object.getString(key)))
                 continue;
-            return object.getString(key);
+            try {
+                return String.valueOf(Html.fromHtml(object.getString(key)));
+            } catch (Exception e) {
+                return object.getString(key);
+            }
         }
         return "";
     }

+ 13 - 0
WeiChat/src/main/res/layout/activity_search_select.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="com.xzjmyk.pm.activity.ui.erp.activity.oa.SearchSelectActivity">
+
+
+
+
+
+
+</LinearLayout>

+ 0 - 1
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -642,7 +642,6 @@
     <string name="realtime_distance">实时距离</string>
     <string name="real_arrival_time">实际到达时间</string>
     <string name="recent_record_time">最近记录时间</string>
-
     <string name="select_client">选择客户</string>
     <!--end by Bitliker-->
 

+ 6 - 4
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -59,8 +59,8 @@
     <string name="oamaterials_apply">物料申請單</string>
     <string name="oaservice_apply">維修申請單</string>
     <string name="oaStandby_machine_apply">備用機申請單</string>
-  <!-- end 行政辦公OA界面-->
-  <!-- start 打卡簽到 oasign_title-->
+      <!-- end 行政辦公OA界面-->
+      <!-- start 打卡簽到 oasign_title-->
     <string name="super_setting">高級設置</string>
     <string name="work_setting">排班設置</string>
     <string name="office_addr_setting">辦公地址設置</string>
@@ -606,7 +606,6 @@
         <item>上班前4個小時</item>
         <item>上班前5個小時</item>
     </string-array>
-
     <string name="create_business">創建商機</string>
     <string name="describe">描述</string>
     <string name="visit_content">拜訪內容</string>
@@ -617,6 +616,8 @@
     <string name="realtime_distance">實时距離</string>
     <string name="real_arrival_time">實際到達時間</string>
     <string name="recent_record_time">最近記錄時間</string>
+    <string name="select_client">選擇客戶</string>
+
     <!--end by Bitliker-->
 
     <!--start by Arison-->
@@ -840,7 +841,8 @@
     <dimen name="alphabet_size">12dip</dimen>
     <dimen name="umeng_socialize_pad_window_height">350dip</dimen>
     <dimen name="umeng_socialize_pad_window_width">580dip</dimen>
-        <string name="umeng_socialize_share_content">友盟社會化組件(SDK)讓移動應用快速整合社交分享功能,我們簡化了社交平台的接入,為開發者提供堅實的基礎服務。 (一)支持各大主流社交平台,
+        
+    <string name="umeng_socialize_share_content">友盟社會化組件(SDK)讓移動應用快速整合社交分享功能,我們簡化了社交平台的接入,為開發者提供堅實的基礎服務。 (一)支持各大主流社交平台,
 (二)支持圖片、文字、gif動圖、音頻、視頻;@好友,關注官方微博等功能。
 (三)提供詳盡的後台用戶社交行為分析。 www.umeng.com/social</string>
     <string name="umeng_socialize_login_qq">QQ空間</string>

+ 1 - 1
WeiChat/src/main/res/values/strings.xml

@@ -7,7 +7,7 @@
     <string name="login_losspwd">忘记密码</string>
     <string name="login_getpwd">密码找回</string>
     <string name="login_register">新用户注册</string>
-    
+
     <string-array name="calendar_week">
         <item>日</item>
         <item>一</item>