Browse Source

1 创建商机老界面添加两个字段
2 出差单特殊化处理,客户连带地址

SpringBoots 8 years ago
parent
commit
1332078d56
49 changed files with 405 additions and 323 deletions
  1. 23 22
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ApplySubscribeActivity.java
  2. 3 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/ContactFragment.java
  3. 26 26
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/MyFriendActivity.java
  4. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java
  5. 0 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/AddBusinessActivity.java
  6. 3 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessActivity.java
  7. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/BusinessDetailInfoActivity.java
  8. 13 10
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ClientActivity.java
  9. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/ContactManAddActivity.java
  10. 25 25
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java
  11. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java
  12. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/FeedbackActivity.java
  13. 4 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddVisitReportActivity.java
  14. 1 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/FlightsActivity.java
  15. 4 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetDetailsActivity.java
  16. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MeetingActivity.java
  17. 22 15
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java
  18. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OARegisterActivity.java
  19. 6 8
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java
  20. 99 71
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectRemarkActivity.java
  21. 5 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/WorkActivity.java
  22. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/AddBusinessAdapter.java
  23. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/SelectAimAdapter.java
  24. 18 21
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java
  25. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java
  26. 1 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddVisitReportPresenter.java
  27. 14 7
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/FlightsPresernter.java
  28. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/OAPresenter.java
  29. 11 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java
  30. 1 46
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/ViewUtil.java
  31. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/AutoErpSigninUitl.java
  32. 4 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAConfig.java
  33. 6 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAHttpUtil.java
  34. 1 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/AutoCreateChatFragment.java
  35. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/MeFragment.java
  36. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/ChatActivity.java
  37. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java
  38. 1 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java
  39. 3 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/view/ChatContentView.java
  40. 2 2
      WeiChat/src/main/res/layout/item_business_contact.xml
  41. 4 4
      WeiChat/src/main/res/layout/item_remark.xml
  42. 20 0
      WeiChat/src/main/res/layout/item_remark_empty.xml
  43. 2 2
      WeiChat/src/main/res/layout/item_select_aim_empty.xml
  44. 1 1
      WeiChat/src/main/res/layout/item_select_aim_load.xml
  45. 1 1
      WeiChat/src/main/res/layout/item_select_aim_map.xml
  46. 17 1
      WeiChat/src/main/res/values-en/strings.xml
  47. 16 2
      WeiChat/src/main/res/values-zh-rCN/strings.xml
  48. 16 1
      WeiChat/src/main/res/values-zh-rTW/strings.xml
  49. 11 0
      WeiChat/src/main/res/values/strings.xml

+ 23 - 22
WeiChat/src/main/java/com/xzjmyk/pm/activity/ApplySubscribeActivity.java

@@ -12,11 +12,11 @@ import com.andreabaccega.widget.FormEditText;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
-import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
+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.ListUtils;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.crouton.Style;
@@ -42,31 +42,30 @@ public class ApplySubscribeActivity extends BaseActivity {
     private int mAsId;
     private DBManager dbManager;
 
-    private String mEmCode,mEmName,mEmDepart,mEmPort;
+    private String mEmCode, mEmName, mEmDepart, mEmPort;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_apply_subscribe);
         getSupportActionBar().setTitle("申请订阅");
-
         initView();
         initEvent();
         initData();
     }
 
 
-    private Handler mHandler = new Handler(){
+    private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
-            switch (msg.what){
+            switch (msg.what) {
                 case GET_AS_ID:
                     String resultStr = msg.getData().getString("result");
                     try {
                         JSONObject resultJsonObject = new JSONObject(resultStr);
                         if (resultJsonObject != null && resultJsonObject.getBoolean("success")) {
                             mAsId = resultJsonObject.getInt("id");
-                            Log.d("apply_subscribe_id",mAsId+"");
+                            Log.d("apply_subscribe_id", mAsId + "");
                         }
                     } catch (JSONException e) {
                         e.printStackTrace();
@@ -75,10 +74,10 @@ public class ApplySubscribeActivity extends BaseActivity {
                 case APPLY_SUBSCRIPTION:
                     String saveResult = msg.getData().getString("result");
                     Log.d("apply_subscribe_save", saveResult + "");
-                    Crouton.makeText(ApplySubscribeActivity.this,"申请保存成功",Style.CONFIRM).show();
+                    Crouton.makeText(ApplySubscribeActivity.this, "申请保存成功", Style.CONFIRM).show();
                     try {
                         JSONObject saveObject = new JSONObject(saveResult);
-                        if (saveObject != null && saveObject.getBoolean("success")){
+                        if (saveObject != null && saveObject.getBoolean("success")) {
                             sendSubmitRequest();
                         }
                     } catch (JSONException e) {
@@ -88,9 +87,9 @@ public class ApplySubscribeActivity extends BaseActivity {
                 case SUBMIT_SUBSCRIPTION:
                     progressDialog.dismiss();
                     String submitResult = msg.getData().getString("result");
-                    Log.d("apply_subscrive_submit",submitResult);
-                    Crouton.makeText(ApplySubscribeActivity.this,"申请提交成功",Style.CONFIRM).show();
-                    CommonUtil.imageToast(ApplySubscribeActivity.this,R.drawable.ic_apply_submit_success,"",2000);
+                    Log.d("apply_subscrive_submit", submitResult);
+                    Crouton.makeText(ApplySubscribeActivity.this, "申请提交成功", Style.CONFIRM).show();
+                    CommonUtil.imageToast(ApplySubscribeActivity.this, R.drawable.ic_apply_submit_success, "", 2000);
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
                     progressDialog.dismiss();
@@ -110,7 +109,7 @@ public class ApplySubscribeActivity extends BaseActivity {
         mBranchEt = (FormEditText) findViewById(R.id.apply_subscribe_branch_et);
         mReasonEt = (FormEditText) findViewById(R.id.apply_subscribe_reason_et);
 
-        CommonUtil.getCommonId(this,"SUBSAPPLY_SEQ",mHandler,GET_AS_ID);
+        CommonUtil.getCommonId(this, "SUBSAPPLY_SEQ", mHandler, GET_AS_ID);
 
         mEmCode = CommonUtil.getSharedPreferences(ct, "erp_username");
     }
@@ -131,7 +130,7 @@ public class ApplySubscribeActivity extends BaseActivity {
                 Log.i(TAG, "initData:" + model.getEM_DEPART());
                 Log.i(TAG, "initData:" + model.getEM_POSITION());
                 Log.i(TAG, "initData:" + model.getCOMPANY());
-                Log.i(TAG, "initData:" +model.getEm_IMID()  );
+                Log.i(TAG, "initData:" + model.getEm_IMID());
 
             }
             mEmName = db.get(0).getEM_NAME();
@@ -145,6 +144,7 @@ public class ApplySubscribeActivity extends BaseActivity {
         mPostEt.setText(mEmPort);
         mBranchEt.setText(mEmDepart);
     }
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         getMenuInflater().inflate(R.menu.menu_apply_subscribe, menu);
@@ -158,7 +158,7 @@ public class ApplySubscribeActivity extends BaseActivity {
 //                Crouton.makeText(this, "提交成功", Style.CONFIRM).show();
                 CommonInterface.getInstance().getCodeByNet("SubsApply", new CommonInterface.OnResultListener() {
                     @Override
-                    public void result(boolean isOk, int  result, String message) {
+                    public void result(boolean isOk, int result, String message) {
                         sendApplyRequest(APPLY_SUBSCRIPTION, message);
                     }
                 });
@@ -173,9 +173,9 @@ public class ApplySubscribeActivity extends BaseActivity {
      */
     private void sendSubmitRequest() {
         String submitUrl = Constants.getAppBaseUrl(ct) + "/common/submitCommon.action";
-        Map<String,Object> params = new HashMap<>();
-        params.put("caller","SubsApply");
-        params.put("id",mAsId);
+        Map<String, Object> params = new HashMap<>();
+        params.put("caller", "SubsApply");
+        params.put("id", mAsId);
 
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
@@ -184,6 +184,7 @@ public class ApplySubscribeActivity extends BaseActivity {
 
     /**
      * 申请保存
+     *
      * @param what
      * @param code
      */
@@ -191,7 +192,7 @@ public class ApplySubscribeActivity extends BaseActivity {
         String formStore = "";
         if (mSubscribeNameEt.testValidity() && mDataEt.testValidity()
                 && mStatusEt.testValidity() && mSubscribePersonEt.testValidity()
-                && mPostEt.testValidity() && mBranchEt.testValidity()){
+                && mPostEt.testValidity() && mBranchEt.testValidity()) {
             progressDialog.show();
             formStore =
                     "{\n" +
@@ -203,9 +204,9 @@ public class ApplySubscribeActivity extends BaseActivity {
                             + "\",\n" +
                             "\"date_\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd")
                             + "\",\n" +
-                            "\"status_\":\"" +"在录入"
+                            "\"status_\":\"" + "在录入"
                             + "\",\n" +
-                            "\"statuscode_\":\"" +"ENTERING"
+                            "\"statuscode_\":\"" + "ENTERING"
                             + "\",\n" +
                             "\"empcode_\":\"" + mEmCode
                             + "\",\n" +
@@ -220,7 +221,7 @@ public class ApplySubscribeActivity extends BaseActivity {
                             "\"reason_\":\"" + " "
                             + "\"\n" +
                             "}";
-        }else {
+        } else {
             return;
         }
 

+ 3 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/ContactFragment.java

@@ -59,6 +59,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.AutoErpService;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CompanyHandlerInfoUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
@@ -144,11 +145,9 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == R.id.search) {
             if (!isB2b) {
-                if (CommonUtil.isReleaseVersion())
-                    startActivity(new Intent(getActivity(), UserSearchActivity.class));
-                else
+                if (OAConfig.canShowCrm2_0())
                     startActivity(new Intent(getActivity(), AddContactsActivity.class));
-
+                else startActivity(new Intent(getActivity(), UserSearchActivity.class));
             } else {
                 showPopupWindow();
             }

+ 26 - 26
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/contact/MyFriendActivity.java

@@ -272,33 +272,33 @@ public class MyFriendActivity extends BaseActivity implements RecognizerDialogLi
     List<Friend> friends;//临时变量
 
     private void loadData() {
-        if (isPeculiar) loadContactByERpNet();
-        else
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    long startTime = System.currentTimeMillis();
-                    if (mLoginUserId == null)
-                        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-                    if (isPeculiar) {
-                        friends = FriendDao.getInstance().getFriends(mLoginUserId, "clickNum", 10);
-                    } else
-                        friends = FriendDao.getInstance().getFriends(mLoginUserId);
-                    if (friends != null)
-                        Log.i("wang", "friends size()=" + friends.size());
-                    long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
-                    if (delayTime < 0) {
-                        delayTime = 0;
-                    }
-                    getFriendByErp(friends);
-                    mHandler.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            handlerFriends(friends);
-                        }
-                    }, delayTime);
+//        if (isPeculiar) loadContactByERpNet();
+//        else
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                long startTime = System.currentTimeMillis();
+                if (mLoginUserId == null)
+                    mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+                if (isPeculiar) {
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId, "clickNum", 10);
+                } else
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId);
+                if (friends != null)
+                    Log.i("wang", "friends size()=" + friends.size());
+                long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
+                if (delayTime < 0) {
+                    delayTime = 0;
                 }
-            }).start();
+                getFriendByErp(friends);
+                mHandler.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        handlerFriends(friends);
+                    }
+                }, delayTime);
+            }
+        }).start();
     }
 
     private void getFriendByRep(EmployeesEntity e, Friend friend) {

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

@@ -51,11 +51,11 @@ import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.entity.Hrorgs;
 import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
+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.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomerListView;
 import com.xzjmyk.pm.activity.ui.message.ChatActivity;
 import com.xzjmyk.pm.activity.util.DisplayUtil;

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

@@ -59,7 +59,6 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
     private TextView company_add_tv;
     @ViewInject(R.id.remark_tv)
     private TextView remark_tv;
-
     @ViewInject(R.id.business_stage_tv)
     private TextView business_stage_tv;//商机阶段
     @ViewInject(R.id.business_Library_tv)

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

@@ -34,6 +34,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.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.ListViewInScroller;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -142,11 +143,9 @@ public class BusinessActivity extends BaseActivity implements View.OnClickListen
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.bt_create:
-//                startActivity(new Intent(this, BusinessAddActivity.class));
-                if (CommonUtil.isReleaseVersion())
-                    startActivity(new Intent(this, BusinessAddActivity.class));
-                else
+                if (OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
                     startActivity(new Intent(this, AddBusinessActivity.class));
+                else startActivity(new Intent(this, BusinessAddActivity.class));
                 break;
             case R.id.bt_qiang:
                 startActivity(new Intent(this, BusinessDetailActivty.class).putExtra("bt_type", 1));

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

@@ -53,6 +53,7 @@ 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.baidu.OnGetDrivingRouteResult;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
@@ -177,7 +178,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (type == 0)
+        if (type == 0 && OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
             getMenuInflater().inflate(R.menu.menu_delete_edit, menu);
         return super.onCreateOptionsMenu(menu);
     }

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

@@ -42,11 +42,11 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.oa.AddVisitReportActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.OAActivity;
 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.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.view.MyMarkerView;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
@@ -1073,11 +1073,11 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                             startActivity(new Intent(ClientActivity.this, ContactManAddActivity.class));
                             break;*/
                         case 0:
-                            startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
-//                            if (CommonUtil.isReleaseVersion())
-//                                startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
-//                            else
-//                                startActivity(new Intent(ClientActivity.this, AddBusinessActivity.class));
+                            if (OAConfig.canShowCrm2_0() && !CommonUtil.isBiteman())
+                                startActivity(new Intent(ClientActivity.this, AddBusinessActivity.class));
+                            else
+                                startActivity(new Intent(ClientActivity.this, BusinessAddActivity.class));
+
                             break;
                         case 1:
                             startActivity(new Intent(ClientActivity.this, CustomerAddActivity.class));
@@ -1094,10 +1094,13 @@ public class ClientActivity extends BaseActivity implements View.OnClickListener
                         case 3:
                             break;
                         case 2:
-                            if (CommonUtil.isReleaseVersion())
-                                startActivity(new Intent(ClientActivity.this, VisitReportAddActivity.class));
-                            else
-                                startActivity(new Intent(ClientActivity.this, AddVisitReportActivity.class));
+                            //TODO 发布版本使用旧款的拜访报告
+                            startActivity(new Intent(ClientActivity.this, VisitReportAddActivity.class));
+//                            if (OAConfig.canShowCrm2_0())
+//                                startActivity(new Intent(ClientActivity.this, AddVisitReportActivity.class));
+//                            else
+//                                startActivity(new Intent(ClientActivity.this, VisitReportAddActivity.class));
+
                             break;
                        /* case 4:
                             startActivity(new Intent(ClientActivity.this, CustomerAddActivity.class).putExtra("type",1));

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

@@ -15,9 +15,9 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+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.ViewUtil;
 import com.xzjmyk.pm.activity.view.wheel.DatePicker;
 import com.xzjmyk.pm.activity.view.wheel.OptionPicker;
 

+ 25 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/CustomerAddActivity.java

@@ -200,7 +200,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
             et_cu_code.setText(cu_code);
             et_cu_code.setEnabled(false);
         } else {
-           // getCodeByNet();
+            // getCodeByNet();
         }
         loadParams(FORM_TYPE);//判断预录入
     }
@@ -213,8 +213,8 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
             type = intent.getIntExtra("type", 0);
             cu_code = intent.getStringExtra("code");
             cu_status = intent.getStringExtra("status");
-            bc_code=intent.getStringExtra("bc_code");
-            
+            bc_code = intent.getStringExtra("bc_code");
+
             mCompanyName = intent.getStringExtra("companyname");
             mCompanyAddress = intent.getStringExtra("companyaddress");
             mContact = intent.getStringExtra("contact");
@@ -329,7 +329,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                 //
 
                 formStore = "{\n" +
-                        " \"cu_nichecode\":" +bc_code + ",\n" +
+                        " \"cu_nichecode\":" + bc_code + ",\n" +
                         " \"cu_id\":" + mCuId + ",\n" +
                         " \"cu_recordman\":\"" + emname + "\",\n" +
                         " \"cu_recorddate\":\"" + DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd HH:mm:ss") + "\",\n" +
@@ -751,54 +751,54 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
     }
 
     public void onPopupButtonClick(View button) {
-    
+
         Intent intent = new Intent(ct, SelectActivity.class);
         intent.putExtra("type", 2);
         intent.putExtra("reid", R.style.OAThemeMeet);
-        List<SelectBean> beanList=new ArrayList<>();
-        
+        List<SelectBean> beanList = new ArrayList<>();
+
         //华东地区,华南地区,华北地区,华中地区,西南地区,西北地区,东北地区,港澳台地区,海外地区,其它地区
-        SelectBean ben=new SelectBean();
+        SelectBean ben = new SelectBean();
         ben.setName(getString(R.string.client_Huadong_Region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_Huanan_Region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_Huabei_Region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_Huazhong_Region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_Southwest_Region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_North_west_region));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_North_east_area));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_HongKong_Macao_and_Taiwan_regions));
         ben.setJson("{}");
         beanList.add(ben);
 
-        ben=new SelectBean();
+        ben = new SelectBean();
         ben.setName(getString(R.string.client_other_areas));
         ben.setJson("{}");
         beanList.add(ben);
@@ -806,7 +806,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         intent.putExtra("title", getString(R.string.client_payment_method));
         intent.putParcelableArrayListExtra("data", (ArrayList<? extends Parcelable>) beanList);
         startActivityForResult(intent, 0x27);
-        
+
 //        popup = new PopupMenu(this, button);
 //        switch (button.getId()) {
 //            case R.id.et_cu_kind:
@@ -925,14 +925,14 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         intent.putExtra("action", "mobile/common/getDbfind.action");
         intent.putExtra("title", getString(R.string.client_type));
         startActivityForResult(intent, 0x21);
-   
+
     }
 
     /**
      * 加载收款方式
      */
     public void loadPayments() {
- //       progressDialog.show();
+        //       progressDialog.show();
 //        String url = Constants.getAppBaseUrl(ct) + "mobile/common/getDbfind.action";
 //        Map<String, Object> params = new HashMap<>();
 //        params.put("which", "form");
@@ -990,8 +990,8 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
         intent.putExtra("showKey", "cr_name");
         intent.putExtra("action", "mobile/common/getDbfind.action");
         intent.putExtra("title", getString(R.string.client_payment_method));
-                startActivityForResult(intent, 0x23);
-   
+        startActivityForResult(intent, 0x23);
+
     }
 
     private void loadParams(int what) {
@@ -1012,13 +1012,13 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                 SelectBean b = data.getParcelableExtra("data");
                 LogUtil.d(JSON.toJSONString(b));
                 if (b == null || StringUtils.isEmpty(b.getJson())) return;
-                switch (requestCode){
+                switch (requestCode) {
                     case 0x21:
-                       et_cu_kind.setText(b.getName());
+                        et_cu_kind.setText(b.getName());
                         break;
                     case 0x22:
                         et_cu_payments.setText(b.getName());
-                        pa_code =JSON.parseObject(b.getJson()).getString("pa_code");
+                        pa_code = JSON.parseObject(b.getJson()).getString("pa_code");
                         break;
                     case 0x23:
                         tv_cu_currency.setText(b.getName());
@@ -1052,7 +1052,7 @@ public class CustomerAddActivity extends BaseActivity implements View.OnClickLis
                 break;
             case R.id.et_cu_district:
                 onPopupButtonClick(v);
-                
+
                 break;
             case R.id.tv_cu_nichestep:
                 loadJieDuan();

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

@@ -24,12 +24,12 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.SelectActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.UserSelectActivity;
 import com.xzjmyk.pm.activity.ui.erp.model.Employees;
+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.ListUtils;
 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.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.DateTimePickerDialog;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/me/FeedbackActivity.java

@@ -246,7 +246,7 @@ public class FeedbackActivity extends BaseActivity implements View.OnClickListen
     }
 
     private void getCommonId() {
-        CommonUtil.getCommonId(ct, "Commentsback_mobile_SEQ", mHandler, common_id_request);
+        CommonUtil.getCommonId("http://218.18.115.198:8888/ERP/",ct, "Commentsback_mobile_SEQ", mHandler, common_id_request);
         cb_emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");;
     }
 

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

@@ -182,8 +182,11 @@ public class AddVisitReportActivity extends OABaseActivity implements IAddVisitR
         } else if (TextUtils.isEmpty(content_et.getText())) {
             ToastUtil.showToast(ct, getString(R.string.context_is_much));
             return false;
+        } else if (!presenter.canSubmit(adapter.getContactNames())) {
+            ToastUtil.showToast(ct, R.string.contect_is_much);
+            return false;
         }
-        return presenter.canSubmit(adapter.getContactNames());
+        return true;
     }
 
     //显示时间选择器

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

@@ -132,8 +132,7 @@ public class FlightsActivity extends OABaseActivity implements IFlightsView, Fli
                 .setPositiveButton(R.string.common_sure, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
-                        if (adapter == null || adapter.getModels().size() < position) return;
-                        presernter.deleteWork(adapter.getModels().get(position), position);
+                        presernter.deleteWork(adapter.getModels(), position);
                     }
                 })
                 .setNegativeButton(R.string.common_cancel, new DialogInterface.OnClickListener() {

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

@@ -172,8 +172,8 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
     }
 
     private void showExitDialog() {
-        new AlertDialog.Builder(mContext).setTitle(R.string.meet_manage).setMessage(R.string.to_end_meet).setNegativeButton(R.string.cancel, null)
-                .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
+        new AlertDialog.Builder(mContext).setTitle(R.string.meet_manage).setMessage(R.string.to_end_meet).setNegativeButton(R.string.common_cancel, null)
+                .setPositiveButton(R.string.common_sure, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         doNetSubmit(ENDMEET);
@@ -192,10 +192,10 @@ public class MeetDetailsActivity extends BaseActivity implements View.OnClickLis
         findViewById(R.id.add_task_ll).setOnClickListener(this);
         if (entity == null) return;
         //设置会议 地点、介绍、发起人、标签
-        addr_tv.setText(entity.getMa_mrname() == null ? "未填写" : entity.getMa_mrname());
+        addr_tv.setText(entity.getMa_mrname() == null ? getString(R.string.common_noinput) : entity.getMa_mrname());
         sub_tv.setText(entity.getMa_remark() == null ? "" : entity.getMa_remark());
         user_tv.setText(entity.getMa_recorder() == null ? "" : entity.getMa_recorder());
-        tag_tv.setText(StringUtils.isEmpty(entity.getMa_tag()) ? "未填写" : entity.getMa_tag());
+        tag_tv.setText(StringUtils.isEmpty(entity.getMa_tag()) ? getString(R.string.common_noinput) : entity.getMa_tag());
         //设置会议状态
         String str = entity.getMa_stage();
         if (StringUtils.isEmpty(str)) {

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

@@ -335,7 +335,7 @@ public class MeetingActivity extends BaseActivity implements RecognizerDialogLis
             viewholder.oa_meeting_name_tv.setText(entity.getMa_theme());
             viewholder.oa_meeting_addr_tv.setText(entity.getMa_mrname());
             viewholder.oa_meeting_user_tv.setText(entity.getMa_recorder());
-            viewholder.oa_meeting_tag_tv.setText(StringUtils.isEmpty(entity.getMa_type()) ? "未填写" : entity.getMa_type());
+            viewholder.oa_meeting_tag_tv.setText(StringUtils.isEmpty(entity.getMa_type()) ? getString(R.string.common_noinput) : entity.getMa_type());
             if (entity.getMa_tag() == null || entity.getMa_tag().length() <= 0) return;
         }
 

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

@@ -192,9 +192,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
         } else if (item.getItemId() == R.id.add_item) {
             if (isCrm) {//从客户
                 Intent intent = null;
-                if (CommonUtil.isReleaseVersion() || isB2b)
-                    intent = new Intent(ct, VisitReportAddActivity.class);
-                else intent = new Intent(ct, AddVisitReportActivity.class);
+                //TODO 发布版本使用旧款的拜访报告
+                intent = new Intent(ct, VisitReportAddActivity.class);
+//              intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+
                 startActivityForResult(intent, 0x20);
             } else
                 showPopupWindow(getWindow().findViewById(R.id.add_item));
@@ -242,7 +243,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     if (StringUtils.isInclude(e.getHandler(), otherName))
                         filterModels.add(e);
                 }
-                Set<Integer> filterTasks = util.getTaskList(filterModels);
+                Set<Integer> filterTasks = util.getTaskList(curDate, filterModels);
                 setDateToListener(filterTasks);
                 setAdapterBeans(filterModels);
             }
@@ -315,7 +316,9 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     }
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isVisitRecord()) {
-                    intent = new Intent(ct, CommonUtil.isReleaseVersion() || isB2b ? VisitReportAddActivity.class : AddVisitReportActivity.class);
+                    //TODO 发布版本使用旧款的拜访报告
+                    intent = new Intent(ct, VisitReportAddActivity.class);
+//                    intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                     intent.putExtra("type", 2);
                     String chche = object.containsKey("status") ? object.getString("status") == null ? "" : object.getString("status") : "";
                     boolean me = (isMe && !"已拜访".equals(chche) && !"".equals(chche));
@@ -325,7 +328,9 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isMission()) {
                     if (util.isMissionOk(e)) {//外勤计划
-                        intent = new Intent(ct, CommonUtil.isReleaseVersion() || isB2b ? VisitReportAddActivity.class : AddVisitReportActivity.class);
+                        //TODO 发布版本使用旧款的拜访报告
+                        intent = new Intent(ct, VisitReportAddActivity.class);
+//                      intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                         intent.putExtra("type", 3);
                         intent.putExtra("isOutplan", true);
                         intent.putExtra("isMe", isMe);//可以提交拜访报告
@@ -535,6 +540,9 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
     private void switchResult(int what, JSONObject object, Bundle bundle) throws Exception {
+        if (mPullToRefreshScrollView.isRefreshing()) {
+            mPullToRefreshScrollView.onRefreshComplete();
+        }
         switch (what) {
             case LOAD_NET_DATA:
                 boolean isCurDate = true;
@@ -589,10 +597,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
     private synchronized void handlerDataInThread(final JSONObject jsonObject, final String date) throws Exception {
-        meModels = util.getModelByJSON(jsonObject, "me", true);
-        otherModels = util.getModelByJSON(jsonObject, "other", false);
-        meInt = util.getTaskList(meModels);
-        otherInt = util.getTaskList(otherModels);
+        meModels = util.getModelByJSON(jsonObject, "me", isCrm, true);
+        otherModels = util.getModelByJSON(jsonObject, "other", isCrm, false);
+        meInt = util.getTaskList(curDate, meModels);
+        otherInt = util.getTaskList(curDate, otherModels);
         OAHttpHelper.getInstance().post(new Runnable() {
             @Override
             public void run() {
@@ -741,11 +749,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                             intent.putExtra("type", 1);
                             break;
                         case 2:
-                            //TODO 测试
-                            if (CommonUtil.isReleaseVersion() || isB2b)
-                                intent = new Intent(ct, VisitReportAddActivity.class);
-                            else intent = new Intent(ct, AddVisitReportActivity.class);
-                        break;
+                            //TODO 发布版本使用旧款的拜访报告
+                            intent = new Intent(ct, VisitReportAddActivity.class);
+//                          intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+                            break;
                         default:
                             String caller = (String) menusMap.get(position).get("item_caller");
                             String name = (String) menusMap.get(position).get("item_name");

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

@@ -25,7 +25,7 @@ import java.util.Map;
 public class OARegisterActivity extends BaseActivity {
     private TabLayout tabLayout;
     private ViewPager viewPager;
-    private String[] title = {"已签到", "未签到"};
+    private String[] title = {getString(R.string.signined), getString(R.string.unsignined)};
     private int ma_id;
     private String ma_code;
     private String baseUrl;

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

@@ -59,7 +59,7 @@ public class SaveMeetActivity extends BaseActivity {
                     if (json.containsKey("success") && json.getBoolean("success")) {
                         updataCode();//保存成功后更新编号
                     } else {
-                        ToastUtil.showToast(SaveMeetActivity.this, "保存会议纪要失败");
+                        ToastUtil.showToast(SaveMeetActivity.this, R.string.make_adeal_failed);
                     }
                     break;
                 case 0x12://保存后更新编号后提交审批流
@@ -81,7 +81,6 @@ public class SaveMeetActivity extends BaseActivity {
 //                            submitMeeting(id);
                         }
                     } catch (Exception e) {
-                        ToastMessage("解析数据错误");
                     }
                     break;
                 case 0x14:
@@ -98,7 +97,6 @@ public class SaveMeetActivity extends BaseActivity {
                         });
 
                     } else {
-                        Crouton.makeText(ct, "获取id错误");
                     }
                     break;
                 case 0x17://提交审批流
@@ -205,7 +203,7 @@ public class SaveMeetActivity extends BaseActivity {
         Intent intent = new Intent(ct, SelectActivity.class);
         intent.putExtra("type", 2);
         intent.putParcelableArrayListExtra("data", beans);
-        intent.putExtra("title", "选择审批人");
+        intent.putExtra("title", getString(R.string.select_approvel_people));
         startActivityForResult(intent, 0x22);
     }
 
@@ -214,25 +212,25 @@ public class SaveMeetActivity extends BaseActivity {
         String chche = "";
         chche = summary_et.getText().toString();
         if (StringUtils.isEmpty(chche)) {
-            ToastUtil.showToast(ct, "会议纪要未按要求填写");
+            ToastUtil.showToast(ct, R.string.input_meeting_note);
             return;
         }
         builder.append("会议纪要:" + chche + "             ");
         chche = resolution_et.getText().toString();
         if (StringUtils.isEmpty(chche)) {
-            ToastUtil.showToast(ct, "会议决议未按要求填写");
+            ToastUtil.showToast(ct, R.string.input_meeting_resolution);
             return;
         }
         builder.append("会议决议:" + chche + "             ");
         chche = wreckage_et.getText().toString();
         if (StringUtils.isEmpty(chche)) {
-            ToastUtil.showToast(ct, "遗留问题未按要求填写");
+            ToastUtil.showToast(ct, R.string.input_meeting_left);
             return;
         }
         builder.append("遗留问题:" + chche + "             ");
         chche = follow_et.getText().toString();
         if (StringUtils.isEmpty(chche)) {
-            ToastUtil.showToast(ct, "后续工作未按要求填写");
+            ToastUtil.showToast(ct, R.string.input_meeting_next);
             return;
         }
         doSave(code, builder.toString(), id);

+ 99 - 71
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectRemarkActivity.java

@@ -23,6 +23,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.PopupWindowHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
@@ -51,22 +52,6 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_select_remark);
-        recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
-        EditText search_edit = (EditText) findViewById(R.id.search_edit);
-        search_edit.addTextChangedListener(new EditChangeListener() {
-            @Override
-            public void afterTextChanged(Editable editable) {
-                String input = editable.toString();
-                if (ListUtils.isEmpty(beanList)) return;
-                List<Bean> beans = new ArrayList<>();
-                for (Bean e : beanList) {
-                    if (StringUtils.isInclude(e.name, input))
-                        beans.add(e);
-                }
-                adapter.setBeanList(beans);
-                adapter.notifyDataSetChanged();
-            }
-        });
         initView();
         initData();
     }
@@ -135,16 +120,30 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
 
 
     private void initView() {
+        recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
         recyclerview.setLayoutManager(new LinearLayoutManager(this));
         RecycleViewDivider viewDivider = new RecycleViewDivider(this, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light));
         recyclerview.addItemDecoration(viewDivider);
         adapter = new RecycleAdapter(beanList);
         recyclerview.setAdapter(adapter);
+        EditText search_edit = (EditText) findViewById(R.id.search_edit);
+        search_edit.addTextChangedListener(new EditChangeListener() {
+            @Override
+            public void afterTextChanged(Editable s) {
+                String input = s.toString();
+                if (ListUtils.isEmpty(beanList)) return;
+                List<Bean> beans = new ArrayList<>();
+                for (Bean e : beanList) {
+                    if (StringUtils.isInclude(e.name, input))
+                        beans.add(e);
+                }
+                setBean2Adapter(beans);
+            }
+        });
     }
 
     private void initData() {
         isRemark = getIntent() == null || !getIntent().getBooleanExtra("isContact", false);
-
         String title = getIntent() == null ? "" : getIntent().getStringExtra("title");
         if (!StringUtils.isEmpty(title)) getSupportActionBar().setTitle(title);
         beanList = new ArrayList<>();
@@ -200,46 +199,17 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
         OAHttpHelper.getInstance().requestHttp(request, this);
     }
 
-    private void handlerData(JSONArray array) {
-        if (ListUtils.isEmpty(array)) return;
-        Bean bean = null;
-        for (int i = 0; i < array.size(); i++) {
-            bean = new Bean();
-            bean.type = 1;
-            bean.name = array.getJSONObject(i).getString("BS_NAME");
-            beanList.add(beanList.size(), bean);
-        }
-        adapter.setBeanList(beanList);
-        adapter.notifyDataSetChanged();
-    }
-
-    private void handlerContactData(JSONArray array) {
-        if (ListUtils.isEmpty(array)) return;
-        Bean bean = null;
-        for (int i = 0; i < array.size(); i++) {
-            bean = new Bean();
-            bean.type = 1;
-            bean.name = array.getJSONObject(i).getString("ct_name");
-            beanList.add(bean);
-        }
-        adapter.setBeanList(beanList);
-        adapter.notifyDataSetChanged();
-    }
 
     @Override
     public void result(int what, boolean isJSON, String message, Bundle bundle) {
         progressDialog.dismiss();
         if (!isJSON) return;
         JSONObject object = JSON.parseObject(message);
-        JSONArray array = null;
         switch (what) {
             case LOAD_NET:
-                array = object.getJSONArray("stages");
-                handlerData(array);
-                break;
             case LOAD_COMTACT:
-                array = object.getJSONArray("datalist");
-                handlerContactData(array);
+                JSONArray array = OACheckUtil.getJsonArray(object, "stages", "datalist");
+                handlerData(array);
                 break;
         }
 
@@ -252,8 +222,31 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
         ToastUtil.showToast(ct, message);
     }
 
+    private void handlerData(JSONArray array) {
+        if (!ListUtils.isEmpty(array)) {
+            Bean bean = null;
+            JSONObject object = null;
+            for (int i = 0; i < array.size(); i++) {
+                object = array.getJSONObject(i);
+                bean = new Bean();
+                bean.type = 1;
+                bean.name = OACheckUtil.getJson2Text(object, "BS_NAME", "ct_name");
+                beanList.add(beanList.size(), bean);
+            }
+        }
+        setBean2Adapter(beanList);
+    }
 
-    class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.ViewHolder> {
+    private void setBean2Adapter(List<Bean> beans) {
+        if (adapter == null) {
+            adapter = new RecycleAdapter(beans);
+            recyclerview.setAdapter(adapter);
+        } else {
+            adapter.setBeanList(beans);
+        }
+    }
+
+    class RecycleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
         private List<Bean> beanList;
 
         public RecycleAdapter(List<Bean> beanList) {
@@ -265,37 +258,63 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
         }
 
         public void setBeanList(List<Bean> beanList) {
-            this.beanList = beanList;
+            if (ListUtils.isEmpty(beanList)) {
+                this.beanList = new ArrayList<>();
+                Bean bean = new Bean();
+                bean.type = 3;
+                bean.name = getString(R.string.not_message_and_add);
+                this.beanList.add(bean);
+            } else {
+                this.beanList = beanList;
+            }
+            notifyDataSetChanged();
         }
 
         @Override
-        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-            View view = LayoutInflater.from(ct).inflate(R.layout.item_remark, parent, false);
-            return new ViewHolder(view);
+        public int getItemViewType(int position) {
+            return this.beanList.get(position).type;
         }
 
+
         @Override
-        public void onBindViewHolder(ViewHolder holder, final int position) {
-            if (beanList.get(position).type == 2) {//输入
-                holder.et.setVisibility(View.VISIBLE);
-                holder.tv.setVisibility(View.GONE);
-            } else if (beanList.get(position).type == 1) {//显示
-                holder.tv.setVisibility(View.VISIBLE);
-                holder.et.setVisibility(View.GONE);
-                holder.tv.setText(StringUtils.isEmpty(beanList.get(position).name) ? "" : beanList.get(position).name);
+        public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            if (viewType == 3) {
+                View view = LayoutInflater.from(ct).inflate(R.layout.item_remark_empty, parent, false);
+                return new EmptyHolder(view);
+            } else {
+                View view = LayoutInflater.from(ct).inflate(R.layout.item_remark, parent, false);
+                return new ViewHolder(view);
             }
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    String message = beanList.get(position).name;
-                    Intent intent = new Intent();
-                    intent.putExtra("data", message);
-                    setResult(0x20, intent);
-                    finish();
+        }
+
+        @Override
+        public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
+            if (holder instanceof ViewHolder) {
+                ViewHolder h = (ViewHolder) holder;
+                if (beanList.get(position).type == 2) {//输入
+                    h.et.setVisibility(View.VISIBLE);
+                    h.tv.setVisibility(View.GONE);
+                } else if (beanList.get(position).type == 1) {//显示
+                    h.tv.setVisibility(View.VISIBLE);
+                    h.et.setVisibility(View.GONE);
+                    h.tv.setText(StringUtils.isEmpty(beanList.get(position).name) ? "" : beanList.get(position).name);
                 }
-            });
+                holder.itemView.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        String message = beanList.get(position).name;
+                        Intent intent = new Intent();
+                        intent.putExtra("data", message);
+                        setResult(0x20, intent);
+                        finish();
+                    }
+                });
+            } else if (holder instanceof EmptyHolder) {
+
+            }
         }
 
+
         @Override
         public int getItemCount() {
             return ListUtils.isEmpty(beanList) ? 0 : beanList.size();
@@ -311,10 +330,19 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
                 et = (EditText) itemView.findViewById(R.id.et);
             }
         }
+
+        class EmptyHolder extends RecyclerView.ViewHolder {
+            TextView empty_tv;
+
+            public EmptyHolder(View itemView) {
+                super(itemView);
+                empty_tv = (TextView) itemView.findViewById(R.id.empty_tv);
+            }
+        }
     }
 
     class Bean {
         String name;
-        int type;
+        int type;//1.显示  2.输入  3.空数据
     }
 }

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

@@ -132,6 +132,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 
 
     private void initView() {
+        getSupportActionBar().setTitle(R.string.activity_signing);
         isAdmin = getIntent() == null ? false : getIntent().getBooleanExtra(AppConfig.IS_ADMIN, false);
         selectTime = System.currentTimeMillis();
         getMac();
@@ -191,7 +192,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 
     @Override
     public void showFristMac() {
-        MaterialDialog dialog = new MaterialDialog.Builder(ct).title(R.string.prompt_title).content(R.string.show_frist_mac)
+        MaterialDialog dialog = new MaterialDialog.Builder(ct).title(R.string.common_dialog_title).content(R.string.show_frist_mac)
                 .positiveText(R.string.common_sure).negativeText(R.string.common_cancel).autoDismiss(false).callback(new MaterialDialog.ButtonCallback() {
                     @Override
                     public void onPositive(MaterialDialog dialog) {
@@ -210,8 +211,8 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
 
     @Override
     public void showErrorMac() {
-        MaterialDialog dialog = new MaterialDialog.Builder(ct).title(R.string.prompt_title).content(getString(R.string.other_phone_error))
-                .positiveText(R.string.sure).negativeText(R.string.cancel).autoDismiss(false).callback(new MaterialDialog.ButtonCallback() {
+        MaterialDialog dialog = new MaterialDialog.Builder(ct).title(R.string.common_dialog_title).content(getString(R.string.other_phone_error))
+                .positiveText(R.string.common_sure).negativeText(R.string.common_cancel).autoDismiss(false).callback(new MaterialDialog.ButtonCallback() {
                     @Override
                     public void onPositive(MaterialDialog dialog) {
                         dialog.dismiss();
@@ -236,7 +237,7 @@ public class WorkActivity extends OABaseActivity implements View.OnClickListener
         if (notLocationDialog == null)
             notLocationDialog = new MaterialDialog.Builder(ct).title(R.string.prompt_title).
                     content(R.string.allow_location)
-                    .positiveText(R.string.sure).
+                    .positiveText(R.string.common_sure).
                             autoDismiss(false).callback(new MaterialDialog.ButtonCallback() {
                         @Override
                         public void onPositive(MaterialDialog dialog) {

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

@@ -85,6 +85,7 @@ public class AddBusinessAdapter extends BaseAdapter {
                 notifyDataSetChanged();
             }
         });
+        holder.delete_tv.setVisibility(position == 0 ? View.GONE : View.VISIBLE);
         return convertView;
     }
 

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

@@ -90,8 +90,8 @@ public class SelectAimAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
     private void bindLoadView(LoadViewHolder holder, SelectAimModel model) throws Exception {
         holder.title_tv.setText(getNull(model.getName()));
         holder.sub_tv.setText(getNull(model.getAddress()));
-        holder.time_tv.setText("上次拜访 " + getNull(model.getTime()));
-        holder.times_tv.setText("总拜访 " + getNull(model.getTimes() + " 次"));
+        holder.time_tv.setText(MyApplication.getInstance().getString(R.string.last_visit)+" " + getNull(model.getTime()));
+        holder.times_tv.setText(MyApplication.getInstance().getString(R.string.visit_num)+" "  + getNull(model.getTimes() + MyApplication.getInstance().getString(R.string.sign_Times)));
         holder.distance_tv.setText(getKm(BaiduMapUtil.getInstence().getDistance(model.getLatLng())));
         holder.tag_tv.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);
         holder.tag_view.setVisibility(model.isFirst() ? View.VISIBLE : View.GONE);

+ 18 - 21
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java

@@ -100,7 +100,6 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
     private void initView() {
         newHHmm = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
         date_tv.setText(TimeUtils.long2str(System.currentTimeMillis(), "yyyy年MM月"));
-
         loadByNet(TimeUtils.long2str(System.currentTimeMillis(), "yyyyMM"));
         View emptyView = LayoutInflater.from(ct).inflate(R.layout.erp_empty_view, null);
         day_lv.setEmptyView(emptyView);
@@ -148,12 +147,12 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         Map<String, Object> param = new HashMap<>();
         param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
         param.put("yearmonth", date);
-        Request request=new Request.Bulider()
+        Request request = new Request.Bulider()
                 .setUrl("mobile/getPersonAttend.action")
                 .setWhat(0x11)
                 .setParam(param)
                 .bulid();
-        OAHttpHelper.getInstance().requestHttp(request,this);
+        OAHttpHelper.getInstance().requestHttp(request, this);
 
     }
 
@@ -166,13 +165,13 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         param.put("emcode", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username"));
         Bundle bundle = new Bundle();
         bundle.putLong("time", time);
-        Request request=new Request.Bulider()
+        Request request = new Request.Bulider()
                 .setUrl("mobile/getWorkDate.action")
                 .setWhat(0x12)
                 .setParam(param)
                 .setBundle(bundle)
                 .bulid();
-        OAHttpHelper.getInstance().requestHttp(request,this);
+        OAHttpHelper.getInstance().requestHttp(request, this);
 
     }
 
@@ -192,13 +191,13 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         param.put("master", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master"));
         bundle.putParcelableArrayList("models", models);
         bundle.putLong("time", time);
-        Request request=new Request.Bulider()
-                .setUrl( "mobile/oa/workdata.action")
+        Request request = new Request.Bulider()
+                .setUrl("mobile/oa/workdata.action")
                 .setWhat(0x13)
                 .setParam(param)
                 .setBundle(bundle)
                 .bulid();
-        OAHttpHelper.getInstance().requestHttp(request,this);
+        OAHttpHelper.getInstance().requestHttp(request, this);
     }
 
     /**
@@ -231,18 +230,16 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         l1.setText("应该出勤 " + getNull(object, "ychuqin") + " 天");
         r1.setText("实际出勤 " + getNull(object, "achuqin") + " 天");
         l2.setText("正常打卡 " + getNull(object, "nday") + " 天");
-        r2.setText("实际工时 " + getNull(object, "atime") + " 天");
-        l3.setText("迟到    " + getNull(object, "latecount") + " 天");
-        r3.setText("早退    " + getNull(object, "earlycount") + " 天");
-
-        l4.setText("旷工    " + getNull(object, "noncount") + " 天");
-        r4.setText("补卡    " + getNull(object, "qjdaty") + " 天");
-
+        r2.setText(getString(R.string.sign_actualtime) + "    " + getNull(object, "atime") + " " + getString(R.string.sign_hour_day));
+        l3.setText(getString(R.string.sign_late) + "  " + getNull(object, "latecount") + " " + getString(R.string.sign_Times));
+        r3.setText(getString(R.string.sign_leave) + "  " + getNull(object, "earlycount") + " " + getString(R.string.sign_Times));
+        l4.setText(getString(R.string.sign_Absenteeism) + "  " + getNull(object, "noncount") + " " + getString(R.string.sign_Times));
         l5.setText("请假    " + getNull(object, "qjdaty") + " 天");
-        r5.setText("加班    " + getNull(object, "qjdaty") + " 天");
-
+        r5.setText("加班    " + getNull(object, "overtime") + " 次/2小时");
         l6.setText("出差    " + getNull(object, "outdays") + " 天");
-        r6.setText("补卡    " + getNull(object, "outcount") + " 天");
+        r6.setText(getString(R.string.oaoutplan_title) + " " + getNull(object, "outcount") + " 天/3次");
+
+        r4.setText("补卡    " + getNull(object, "signcard") + " " + getString(R.string.sign_Times));
     }
 
     private void setDate2Adapter(ArrayList<WorkModel> models) {
@@ -346,13 +343,13 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
 
         private void initItemView(ViewHoder hoder, int position) {
             WorkModel model = models.get(position);
-            hoder.title_tv.setText("班次" + (position + 1) + " " + model.getWorkTime() + "-" + model.getOffTime());
+            hoder.title_tv.setText(getString(R.string.sign_flights) + (position + 1) + " " + model.getWorkTime() + "-" + model.getOffTime());
             hoder.work_tv.setText(StringUtils.isEmpty(model.getWorkSignin()) ? "" : model.getWorkSignin());
             hoder.off_tv.setText(StringUtils.isEmpty(model.getOffSignin()) ? "" : model.getOffSignin());
             String workTag = "";
             if (StringUtils.isEmpty(model.getWorkSignin())) {
                 if (newHHmm.compareTo(model.getWorkend()) > 0)
-                    workTag = "缺勤";
+                    workTag = getString(R.string.sign_Absenteeism);
             } else {
                 if (model.getWorkSignin().compareTo(model.getWorkTime()) > 0 && model.getWorkSignin().compareTo(model.getWorkend()) <= 0)
                     workTag = getLastTime(model.getWorkSignin(), model.getWorkTime(), true);
@@ -373,7 +370,7 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
             float distance = Math.abs((lastTime - thisTime) / 1000);//秒
             int h = (int) (distance / 3600);
             int m = (int) (distance % 3600) / 60;
-            return (isWork ? "迟到" : "早退") + h + "小时" + m + "分钟";
+            return (isWork ? getString(R.string.sign_late) : getString(R.string.sign_leave)) + h + getString(R.string.hour) + m + getString(R.string.minute);
         }
 
         class ViewHoder {

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

@@ -254,7 +254,7 @@ public class ViewUtil {
             if (method.equals("get")) {
                 result = hClient.sendGetRequest(url, params);
             }
-            if (method.equals("post")) {
+            if (method.equals("post"))  {
                 result = hClient.sendPostRequest(url, params);
             }
         } catch (Exception e) {

+ 1 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddVisitReportPresenter.java

@@ -66,10 +66,8 @@ public class AddVisitReportPresenter implements OnHttpResultListener {
     }
 
     public boolean canSubmit(List<String> contacts) {
-        if (ListUtils.isEmpty(contacts)) {
-            iAddVisitReport.showToast(R.string.contect_is_much, R.color.load_submit);
+        if (ListUtils.isEmpty(contacts))
             return false;
-        }
         this.contacts = contacts;
         for (String e : contacts) {
             if (!StringUtils.isEmpty(e)) {

+ 14 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/FlightsPresernter.java

@@ -34,7 +34,7 @@ import static com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil.getJson2Text;
  * Created by Bitliker on 2017/1/16.
  */
 
-public class FlightsPresernter implements OnHttpResultListener{
+public class FlightsPresernter implements OnHttpResultListener {
 
     private final int WORK_DATA = 0x11;
     private final int WORK_DELETE = 0x12;
@@ -59,23 +59,30 @@ public class FlightsPresernter implements OnHttpResultListener{
         Map<String, Object> param = new HashMap<>();
         param.put("emcode", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username"));
         Bundle bundle = null;
-        String url =isB2b? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAllWorkData:
+        String url = isB2b ? ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().getAllWorkData :
                 "mobile/getAllWorkDate.action";
-        Request request=new Request.Bulider()
+        Request request = new Request.Bulider()
                 .setUrl(url)
                 .setBundle(bundle)
                 .setMode(Request.Mode.GET)
                 .setWhat(WORK_DATA)
                 .setParam(param).bulid();
-        OAHttpHelper.getInstance().requestHttp(request,this);
+        OAHttpHelper.getInstance().requestHttp(request, this);
 
     }
 
-    public void deleteWork(FlightsModel model, int position) {
+    public void deleteWork(List<FlightsModel> models, int position) {
         if (!MyApplication.getInstance().isNetworkActive()) {
             showToast(R.string.networks_out, R.color.load_error);
             return;
         }
+        if (ListUtils.isEmpty(models)) return;
+        FlightsModel model = null;
+        try {
+            model = models.get(position);
+        } catch (IndexOutOfBoundsException e) {
+            return;
+        }
         showLoading();
         Map<String, Object> param = new HashMap<>();
         param.put("caller", "WorkDate");
@@ -84,13 +91,13 @@ public class FlightsPresernter implements OnHttpResultListener{
         Bundle bundle = new Bundle();
         bundle.putInt("position", position);
         String url = "mobile/deleteWorkDate.action";
-        Request request=new Request.Bulider()
+        Request request = new Request.Bulider()
                 .setUrl(url)
                 .setBundle(bundle)
                 .setMode(Request.Mode.GET)
                 .setWhat(WORK_DELETE)
                 .setParam(param).bulid();
-        OAHttpHelper.getInstance().requestHttp(request,this);
+        OAHttpHelper.getInstance().requestHttp(request, this);
 
     }
 

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

@@ -47,7 +47,7 @@ public class OAPresenter implements OnHttpResultListener {
     private long curDate;//当前日期
     private OAHttpUtil util = new OAHttpUtil();
     private ArrayList<Map<String, Object>> menusMap = null;
-
+    private boolean isCrm=false;
 
     public OAPresenter(IOAView ioaView, Intent intent) {
         if (ioaView == null)
@@ -176,8 +176,8 @@ public class OAPresenter implements OnHttpResultListener {
     private void handlerSuccess(int what, JSONObject object, Bundle bundle) throws Exception {
         switch (what) {
             case LOAD_SCHEDULE:
-                meModels = util.getModelByJSON(object, "me", true);
-                otherModels = util.getModelByJSON(object, "other", false);
+                meModels = util.getModelByJSON(object, "me",isCrm, true);
+                otherModels = util.getModelByJSON(object, "other",isCrm, false);
                 showModel(true);
                 break;
             case LOAD_SUBORD:

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

@@ -644,6 +644,11 @@ public class CommonUtil {
         return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
     }
 
+    public static boolean isBiteman() {
+        String baseUrl = getSharedPreferences(MyApplication.getInstance(), "erp_base");
+        return !StringUtils.isEmpty(baseUrl) && baseUrl.contains("http://202.104.151.184:8099/ERP/");
+    }
+
     /**
      * 检测网络是否可用
      *
@@ -981,15 +986,18 @@ public class CommonUtil {
     }
 
     public static void getCommonId(Context ct, String seq, Handler mHandler, int codeWhat) {
-        String url = "http://218.18.115.198:8888/ERP/common/getId.action";
+        getCommonId(Constants.getAppBaseUrl(ct), ct, seq, mHandler, codeWhat);
+    }
+
+    public static void getCommonId(String action, Context ct, String seq, Handler mHandler, int codeWhat) {
+        String url = action + "/common/getId.action";
         final Map<String, Object> param = new HashMap<>();
         param.put("seq", seq);
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
-        ViewUtil.httpSendRequest(ct, url, param, mHandler, headers, codeWhat, null, null, "post");
+        com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, mHandler, headers, codeWhat, null, null, "post");
     }
 
-
     /**
      * 判断某个界面是否在前台
      *

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

@@ -13,27 +13,15 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.net.HttpUtil;
 
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
  * Created by Administrator on 2016/1/30.
  */
+@Deprecated
 public class ViewUtil {
 
-    //TODO 待采用更好的方式处理 定义的属性太多了
-    private static boolean isNetByHandler = false;//判断是否是经过重登录后的请求
-    private static String url;
-    private static Context ct;
-    private static Handler h;
-    private static Map<String, Object> params;
-    private static LinkedHashMap<String, Object> headers;
-    private static int what;
-    private static Message message;
-    private static Bundle bundle;
-    private static String request;
-
     public static HttpUtil.Response httpSendTask(
             String url,
             Map<String, Object> params,
@@ -53,40 +41,7 @@ public class ViewUtil {
         return response;
     }
 
-    private Handler handler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            if (msg.what == 500) {//重登陆
-                LoginERPTask();
-            } else if (msg.what == 0x11) {
-                //判断登陆成功
-                if (msg.getData() != null && com.xzjmyk.pm.activity.util.StringUtils.isEmpty(msg.getData().getString("result"))) {
-                    JsonValidator jva = new JsonValidator();
-                    String json = msg.getData().getString("result");
-                    if (jva.validate(json)) {
-                        if (JSON.parseObject(json).containsKey("success") && JSON.parseObject(json).getBoolean("success")) {
-                            isNetByHandler = true;
-                            httpSendRequest(ct, url, params, handler, headers, what, message, bundle, request);
-                        }
-                    }
-                }
-            }
-        }
-    };
 
-    // 登录ERP gongpengming
-    public void LoginERPTask() {
-        Context ct = MyApplication.getInstance();
-        String url = Constants.getAppBaseUrl(ct) + "mobile/login.action";
-        String master = CommonUtil.getSharedPreferences(ct, "erp_master");
-        String phone = CommonUtil.getSharedPreferences(ct, "user_phone");
-        String password = CommonUtil.getSharedPreferences(ct, "user_password");
-        Map<String, String> params = new HashMap<String, String>();
-        params.put("username", phone);
-        params.put("password", password);
-        params.put("master", master);
-        com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.startNetThread(url, params, handler, 0x11, null, null, "post");
-    }
 
     /**
      * @author Administrator

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

@@ -232,7 +232,7 @@ public class AutoErpSigninUitl implements OnHttpResultListener {
             if (StringUtils.isEmpty(address))
                 address = PreferenceUtils.getString("bdaddress");
             form.put("cl_address", address);
-            form.put("cl_location", "android" + MyApplication.getInstance().getString(R.string.auto_work_signin_log));
+            form.put("cl_location", "android " + MyApplication.getInstance().getString(R.string.auto_work_signin_log));
 //            int comDistance = PreferenceUtils.getInt("distance", 0);
             float distance = BaiduMapUtil.getInstence().getDistance();
             if (distance == 0) {

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

@@ -24,5 +24,8 @@ public class OAConfig {
     public static int latetime = 0;    //迟到时间(在该时间内不算迟到)
     public static int nonclass = 90;     //矿工时间
 
-
+    /*是否显示Crm2.0功能*/
+    public static boolean canShowCrm2_0() {
+        return true;
+    }
 }

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

@@ -26,7 +26,7 @@ import java.util.Set;
 
 public class OAHttpUtil {
     /*获取任务列表*/
-    public Set<Integer> getTaskList(List<OAModel> models) {
+    public Set<Integer> getTaskList(Date curDate, List<OAModel> models) {
         Set<Integer> taskList = new HashSet<>();
         if (ListUtils.isEmpty(models)) return taskList;
         for (OAModel e : models) {
@@ -38,13 +38,15 @@ public class OAHttpUtil {
     }
 
     /*获取OAmodel列表*/
-    public List<OAModel> getModelByJSON(JSONObject object, String key, boolean isMe) throws Exception {
+    public List<OAModel> getModelByJSON(JSONObject object, String key, boolean isCrm, boolean isMe) throws Exception {
         List<OAModel> models = new ArrayList<>();
         if (StringUtils.isEmpty(key)) return models;
         JSONObject o = OACheckUtil.getJSONObject(object, key);
         if (o == null) return models;
-        models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_TASK, "schedule", "task"));//添加任务日程
-        models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_MISSION, "outPlan", "outplan"));//外勤计划
+        if (!isCrm) {
+            models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_TASK, "schedule", "task"));//添加任务日程
+            models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_MISSION, "outPlan", "outplan"));//外勤计划
+        }
         models.addAll(getModelByJSON(o, isMe, OAModel.OA_TYPE_RECORD, "visitRecord"));//拜访报告
         return models;
     }

+ 1 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/AutoCreateChatFragment.java

@@ -51,7 +51,6 @@ 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.view.EmptyLayout;
 import com.xzjmyk.pm.activity.ui.message.MucChatActivity;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
@@ -625,8 +624,7 @@ public class AutoCreateChatFragment extends EasyFragment {
         params.put("sessionId", CommonUtil.getSharedPreferences(mContext, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
-        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(
-                mContext, url, params, handler, headers, 1, null, null, "get");
+        ViewUtil.httpSendRequest(mContext, url, params, handler, headers, 1, null, null, "get");
     }
 
     private Handler handler = new Handler() {

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/MeFragment.java

@@ -39,7 +39,7 @@ 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.JsonValidator;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
+import  com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.MasterDialog;
 import com.xzjmyk.pm.activity.ui.tool.SingleImagePreviewActivity;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
@@ -133,7 +133,7 @@ public class MeFragment extends EasyFragment implements View.OnClickListener {
                                 Master.class);
                         getChMaster(mList);
                     } else {
-                        ViewUtil.ShowMessageFDialogAutoDismiss(ct, "获取账套信息失败!", 2000);
+                        ToastUtil.showToast(ct, "获取账套信息失败!");
                     }
                     break;
                 case 2://切换账套
@@ -165,7 +165,7 @@ public class MeFragment extends EasyFragment implements View.OnClickListener {
                     Map<String, Object> results = FlexJsonUtil.fromJson(msg
                             .getData().getString("result"));
                     if ((Boolean) results.get("success")) {
-                        com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.ToastMessage(ct, "账套切换成功!", Style.holoGreenLight, 3000);
+                       ViewUtil.ToastMessage(ct, "账套切换成功!", Style.holoGreenLight, 3000);
                         String sessionId = results.get("sessionId").toString();
                         String master = msg.getData().getString("master");
                         String master_ch = msg.getData().getString("master_ch");

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/ChatActivity.java

@@ -47,8 +47,8 @@ import com.xzjmyk.pm.activity.helper.UploadEngine;
 import com.xzjmyk.pm.activity.ui.base.ActionBackActivity;
 import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.circle.SendBaiDuLocate;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
 import com.xzjmyk.pm.activity.util.CameraUtil;
 import com.xzjmyk.pm.activity.util.Constants;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java

@@ -47,7 +47,7 @@ import com.xzjmyk.pm.activity.helper.UploadEngine;
 import com.xzjmyk.pm.activity.ui.base.ActionBackActivity;
 import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.circle.SendBaiDuLocate;
-import com.xzjmyk.pm.activity.ui.erp.util.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
 import com.xzjmyk.pm.activity.util.CameraUtil;
 import com.xzjmyk.pm.activity.util.Constants;

+ 1 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java

@@ -1213,8 +1213,7 @@ public class RoomInfoActivity extends BaseActivity {
         params.put("sessionId", CommonUtil.getSharedPreferences(mContext, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
-        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(
-                mContext, url, params, handler, headers, 1, null, null, "get");
+        ViewUtil.httpSendRequest(mContext, url, params, handler, headers, 1, null, null, "get");
     }
 
     private Handler handler = new Handler() {

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/view/ChatContentView.java

@@ -836,9 +836,9 @@ public class ChatContentView extends PullDownListView implements OnMediaStateCha
                             Bitmap bitmap = ImageLoader.getInstance().getMemoryCache().get(filePath);
                             if (bitmap == null || bitmap.isRecycled()) {
                                 bitmap = ThumbnailUtils.createVideoThumbnail(filePath, Thumbnails.MINI_KIND);
-                                if (filePath == null || bitmap == null){
-    
-                                }else{
+                                if (filePath == null || bitmap == null) {
+
+                                } else {
                                     ImageLoader.getInstance().getMemoryCache().put(filePath, bitmap);
                                 }
                             }

+ 2 - 2
WeiChat/src/main/res/layout/item_business_contact.xml

@@ -42,7 +42,7 @@
             style="@style/item_menu_input"
             android:layout_toRightOf="@id/company_tag"
             android:drawablePadding="6dp"
-            android:hint="@string/common_input" />
+            android:hint="@string/common_input1" />
     </RelativeLayout>
 
     <RelativeLayout
@@ -60,7 +60,7 @@
             android:id="@+id/company_add_tv"
             style="@style/item_menu_input"
             android:layout_toRightOf="@id/company_add_tag"
-            android:hint="@string/common_input"
+            android:hint="@string/common_input1"
             android:inputType="phone"
             android:textColor="@color/hintColor" />
     </RelativeLayout>

+ 4 - 4
WeiChat/src/main/res/layout/item_remark.xml

@@ -11,16 +11,16 @@
         android:layout_height="wrap_content"
         android:gravity="left|center"
         android:text="客户拜访"
-        android:visibility="gone"
         android:textColor="@color/text_main"
-        android:textSize="@dimen/text_main" />
+        android:textSize="@dimen/text_main"
+        android:visibility="gone" />
 
     <EditText
         android:id="@+id/et"
-        android:visibility="gone"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:hint="请输入"
         android:textColor="@color/text_main"
-        android:textSize="@dimen/text_main" />
+        android:textSize="@dimen/text_main"
+        android:visibility="gone" />
 </FrameLayout>

+ 20 - 0
WeiChat/src/main/res/layout/item_remark_empty.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/empty_rl"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/selector_me_menu_item_bg"
+    android:padding="10dp">
+
+    <TextView
+        android:id="@+id/empty_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerHorizontal="true"
+        android:layout_marginLeft="10dp"
+        android:drawableLeft="@drawable/tip"
+        android:drawablePadding="5dp"
+        android:text="@string/not_message_and_add"
+        android:textColor="@color/text_hine"
+        android:textSize="@dimen/text_main" />
+</RelativeLayout>

+ 2 - 2
WeiChat/src/main/res/layout/item_select_aim_empty.xml

@@ -16,7 +16,7 @@
         android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
         android:layout_toRightOf="@id/home_tag"
-        android:text="没有符合条件的结果"
+        android:text="@string/not_search_message"
         android:textColor="@color/text_main"
         android:textSize="@dimen/text_main" />
 
@@ -26,7 +26,7 @@
         android:layout_alignLeft="@id/title"
         android:layout_below="@id/title"
         android:layout_toRightOf="@id/home_tag"
-        android:text="请搜索地址后完善单位名称"
+        android:text="@string/search_address_input_company"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />
 </RelativeLayout>

+ 1 - 1
WeiChat/src/main/res/layout/item_select_aim_load.xml

@@ -8,7 +8,7 @@
         android:id="@+id/tag_tv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:text="企业"
+        android:text="@string/enterprise"
         android:visibility="gone"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine" />

+ 1 - 1
WeiChat/src/main/res/layout/item_select_aim_map.xml

@@ -8,7 +8,7 @@
         android:id="@+id/tag_tv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:text="地图"
+        android:text="@string/map"
         android:textColor="@color/text_hine"
         android:textSize="@dimen/text_hine"
         android:visibility="gone" />

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

@@ -526,7 +526,7 @@
         <string name = "visit"> visit </string>
         <string name = "auto_mission_signindown"> The UU helps you sign out automatically for outwork </string>
         <string name = "auto_work_signin_log"> Auto sign record </string>
-        <string name = "auto_signin"> The system has successfully typed for you </string>
+        <string name = "auto_signin"> The system has been punching for you automatically </string>
         <string name = "success_signin_down_mission"> Field signout succeeds </string>
         <string name = "success_signin_up_mission"> Auto attendance sign </string>
         <string name = "success_signin_down"> sign out successfully </string>
@@ -1237,4 +1237,20 @@
     <string name = "remove_blacklist_prompt"> Are you sure you want to remove the blacklist? </string>
     <string name = "add_blacklist_prompt"> Are you sure you want to add a blacklist? </string>
     <string name = "add_blacklist_succ"> add blacklist success </string>
+
+    <string name="not_message_and_add">没有找到数据,请点击右上角的+进行添加</string>
+    <string name="change_mobile">打卡设备变更单</string>
+    <string name="supple_signin">申诉申请</string>
+    <string name="last_visit">上次拜访</string>
+    <string name="visit_num">总拜访</string>
+    <string name="search_address_input_company">请搜索地址后完善单位名称</string>
+    <string name="enterprise">企业</string>
+    <string name="map">地图</string>
+    <string name="other_map">使用其他地图</string>
+    <string name="click_finds"><u>点击查看</u></string>
+    <string name="unsignined">未签到</string>
+    <string name="input_meeting_note">会议纪要未按要求填写</string>
+    <string name="input_meeting_resolution">会议决议未按要求填写</string>
+    <string name="input_meeting_left">遗留问题未按要求填写</string>
+    <string name="input_meeting_next">后续工作未按要求填写</string>
 </resources>

+ 16 - 2
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -591,7 +591,7 @@
     <string name="visit">拜访</string>
     <string name="auto_mission_signindown">自动外勤签退</string>
     <string name="auto_work_signin_log">自动打卡记录</string>
-    <string name="auto_signin">系统已为你自动打卡成功</string>
+    <string name="auto_signin">系统已为你自动打卡</string>
     <string name="success_signin_down_mission">外勤签退成功</string>
     <string name="success_signin_up_mission">自动外勤签到成功</string>
     <string name="success_signin_down">签退成功</string>
@@ -668,7 +668,21 @@
     <string name="input_reason">请填写理由</string>
     <string name="change_signin_ok">申诉成功!</string>
     <string name="personnel">人员</string>
-
+    <string name="not_message_and_add">没有找到数据,请点击右上角的+进行添加</string>
+    <string name="change_mobile">打卡设备变更单</string>
+    <string name="supple_signin">申诉申请</string>
+    <string name="last_visit">上次拜访</string>
+    <string name="visit_num">总拜访</string>
+    <string name="search_address_input_company">请搜索地址后完善单位名称</string>
+    <string name="enterprise">企业</string>
+    <string name="map">地图</string>
+    <string name="other_map">使用其他地图</string>
+    <string name="click_finds"><u>点击查看</u></string>
+    <string name="unsignined">未签到</string>
+    <string name="input_meeting_note">会议纪要未按要求填写</string>
+    <string name="input_meeting_resolution">会议决议未按要求填写</string>
+    <string name="input_meeting_left">遗留问题未按要求填写</string>
+    <string name="input_meeting_next">后续工作未按要求填写</string>
 
     <!--end by Bitliker-->
 

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

@@ -639,6 +639,21 @@
     <string name="input_reason">請填寫理由</string>
     <string name="change_signin_ok">申訴成功!</string>
     <string name="personnel">人員</string>
+    <string name="not_message_and_add">沒有找到數據,請點擊右上角的+進行添加</string>
+    <string name="change_mobile">打卡設備變更單</string>
+    <string name="supple_signin">申訴申請</string>
+    <string name="last_visit">上次拜訪</string>
+    <string name="visit_num">總拜訪</string>
+    <string name="search_address_input_company">請蒐索地址後完善單位名稱</string>
+    <string name="enterprise">企業</string>
+    <string name="map">地圖</string>
+    <string name="other_map">使用其他地圖</string>
+    <string name="click_finds"><u>點擊查看</u></string>
+    <string name="unsignined">未簽到</string>
+    <string name="input_meeting_note">會議紀要未按要求填寫</string>
+    <string name="input_meeting_resolution">會議決議未按要求填寫</string>
+    <string name="input_meeting_left">遺留問題未按要求填寫</string>
+    <string name="input_meeting_next">後續工作未按要求填寫</string>
     <!--end by Bitliker-->
 
     <!--start by Arison-->
@@ -1322,6 +1337,6 @@
     <string name="remove_blacklist_prompt">確定要移出黑名單嗎</string>
     <string name="add_blacklist_prompt">確定要加入黑名單嗎? </string>
     <string name="add_blacklist_succ">加入黑名單成功</string>
-    <string name="unsubmit">unsubmit</string>
+    <string name="unsubmit">反提交</string>
     <string name="Operation_succeeded">Operation succeeded</string>
 </resources>

+ 11 - 0
WeiChat/src/main/res/values/strings.xml

@@ -1648,9 +1648,20 @@
     <string name="holiday_date4">4月29日~5月1日   共3天</string>
     <string name="holiday_date5">5月28日~5月30日  共3天  调休;5月27日上班</string>
     <string name="holiday_date6">10月1日~10月8日  共8天  调休;9月30日上班</string>
+    <string name="not_message_and_add">没有找到数据,请点击右上角的+进行添加</string>
     <string name="unsubmit">反提交</string>
     <string name="Operation_succeeded">反提交成功</string>
 
     <string name="bc_factoryAdd">工厂地址</string>
     <string name="bc_tel">公司总机</string>
+    <string name="last_visit">上次拜访</string>
+    <string name="visit_num">总拜访</string>
+    <string name="search_address_input_company">请搜索地址后完善单位名称</string>
+    <string name="enterprise">企业</string>
+    <string name="map">地图</string>
+    <string name="unsignined">未签到</string>
+    <string name="input_meeting_note">会议纪要未按要求填写</string>
+    <string name="input_meeting_resolution">会议决议未按要求填写</string>
+    <string name="input_meeting_left">遗留问题未按要求填写</string>
+    <string name="input_meeting_next">后续工作未按要求填写</string>
 </resources>