Browse Source

修复CRM2.0部分bug
修改通用选择人员界面钱备份

Bitliker 8 years ago
parent
commit
066c3e7072

File diff suppressed because it is too large
+ 325 - 322
WeiChat/src/main/AndroidManifest.xml


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

@@ -153,6 +153,16 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         if (TextUtils.isEmpty(company_tv.getText())) {
             ToastUtil.showToast(ct, getString(R.string.Company_Name) + getString(R.string.is_must_input));
             return false;
+        } else if (company_tv.getText().length() > 80) {
+            ToastUtil.showToast(ct, getString(R.string.Company_Name) + getString(R.string.more_length));
+            return false;
+        } else if (!ListUtils.isEmpty(adapter.getContacts())) {
+            for (EmployeesModel e : adapter.getContacts()) {
+                if (!StringUtils.isEmpty(e.getEmployeeNames()) && e.getEmployeeNames().length() > 80) {
+                    ToastUtil.showToast(ct, getString(R.string.common_Contact_person) + getString(R.string.more_length));
+                    return false;
+                }
+            }
         }
         return true;
     }
@@ -396,7 +406,7 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         formStore.put("bc_id", bc_id);
         formStore.put("bc_code", bc_code);
 //        formStore.put("bc_custcode", "");
-        formStore.put("bc_doman", name);
+        formStore.put("bc_doman", OACheckUtil.string2Json(name));
         formStore.put("bc_domancode", CommonUtil.getEmcode());
         formStore.put("bc_statuscode", "AUDITED");
         formStore.put("bc_status", getString(R.string.status_approved));
@@ -404,16 +414,16 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
         formStore.put("bc_recorddate", time);
         formStore.put("bc_lastdate", time);
         formStore.put("bc_description", StringUtils.string2Json(remark_tv.getText().toString()));
-        formStore.put("bc_custname", company);
-        formStore.put("bc_address", address);
-        formStore.put("bc_desc6", address);
+        formStore.put("bc_custname", StringUtils.string2Json(company));
+        formStore.put("bc_address", StringUtils.string2Json(address));
+        formStore.put("bc_desc6", StringUtils.string2Json(address));
         if (latLng != null) {
             formStore.put("bc_longitude", latLng.longitude);
             formStore.put("bc_latitude", latLng.latitude);
         }
-        formStore.put("bc_contact", bc_contact);
+        formStore.put("bc_contact", StringUtils.string2Json(bc_contact));
         formStore.put("bc_tel", bc_tel);
-        formStore.put("bc_currentprocess", bc_currentprocess);
+        formStore.put("bc_currentprocess", StringUtils.string2Json(bc_currentprocess));
         formStore.put("bc_remark", StringUtils.string2Json(remark_tv.getText().toString()));
         formStore.put("bc_date7", TimeUtils.s_long_2_str(System.currentTimeMillis()));
         formStore.put("bc_desc8", "");//成本金额

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

@@ -24,6 +24,8 @@ import android.widget.PopupWindow;
 import android.widget.SimpleAdapter;
 import android.widget.TextView;
 
+import com.afollestad.materialdialogs.GravityEnum;
+import com.afollestad.materialdialogs.MaterialDialog;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -329,7 +331,7 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
             LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             view = layoutInflater.inflate(R.layout.pop_crm_list, null);
             ListView plist = (ListView) view.findViewById(R.id.mList);
-            SimpleAdapter adapter = new SimpleAdapter(
+            final SimpleAdapter adapter = new SimpleAdapter(
                     this,
                     getPopData(),
                     R.layout.item_pop_list,
@@ -341,7 +343,27 @@ public class BusinessDetailInfoActivity extends BaseActivity implements View.OnC
                     position = position + 1;
                     switch (position) {
                         case 1:
-                            loadNichehouse();
+                            final String nichehouse = OACheckUtil.getText(bc_nichehouse);
+                            if (/*存在商机库已选择*/!StringUtils.isEmpty(nichehouse)) {
+                                new MaterialDialog.Builder(ct).title(R.string.common_dialog_title)
+                                        .content(R.string.sure_business_release)
+                                        .negativeText(R.string.common_cancel)
+                                        .positiveText(R.string.common_sure)
+                                        .contentGravity(GravityEnum.CENTER)
+                                        .callback(new MaterialDialog.ButtonCallback() {
+                                            @Override
+                                            public void onNegative(MaterialDialog dialog) {
+                                                super.onNegative(dialog);
+                                            }
+
+                                            @Override
+                                            public void onPositive(MaterialDialog dialog) {
+                                                super.onPositive(dialog);
+                                                sendHttpResquestRelease(nichehouse, BUSINESS_RELEASE);
+                                            }
+                                        }).build().show();
+                            } else
+                                loadNichehouse();
                             popupWindow.dismiss();
                             break;
                         case 2:

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

@@ -148,26 +148,41 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
     };
 
     @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId() == R.id.save) {
-            CommonInterface.getInstance().getCodeByNet("Meetingroomapply", new CommonInterface.OnResultListener() {
-                @Override
-                public void result(boolean isOk, int what, String message) {
-                    ma_code = message;
-                    getIdByNet();
-                }
-            });
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.menu_list, menu);
+        return super.onCreateOptionsMenu(menu);
+    }
 
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (R.id.push == item.getItemId()) {
+            startActivity(new Intent(ct, MeetingActivity.class));
         }
         return super.onOptionsItemSelected(item);
     }
 
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_visit_save, menu);
-        return super.onCreateOptionsMenu(menu);
-    }
+    //TODO 修改保存按钮
+//    @Override
+//    public boolean onOptionsItemSelected(MenuItem item) {
+//        if (item.getItemId() == R.id.save) {
+//            CommonInterface.getInstance().getCodeByNet("Meetingroomapply", new CommonInterface.OnResultListener() {
+//                @Override
+//                public void result(boolean isOk, int what, String message) {
+//                    ma_code = message;
+//                    getIdByNet();
+//                }
+//            });
+//
+//        }
+//        return super.onOptionsItemSelected(item);
+//    }
+
+
+//    @Override
+//    public boolean onCreateOptionsMenu(Menu menu) {
+//        getMenuInflater().inflate(R.menu.menu_visit_save, menu);
+//        return super.onCreateOptionsMenu(menu);
+//    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -242,15 +257,25 @@ public class AddMeetingActivity extends BaseActivity implements View.OnClickList
                 dialog.setListener(this);
                 dialog.show();
                 break;
+            case R.id.bt_save:
+                CommonInterface.getInstance().getCodeByNet("Meetingroomapply", new CommonInterface.OnResultListener() {
+                    @Override
+                    public void result(boolean isOk, int what, String message) {
+                        ma_code = message;
+                        getIdByNet();
+                    }
+                }); break;
         }
     }
 
     private void endOfActivity() {
-        Intent intent = new Intent();
-        intent.putExtra("data", "data");
-        setResult(0x14, intent);
+//        Intent intent = new Intent();
+//        intent.putExtra("data", "data");
+//        setResult(0x14, intent);
+//        finish();
+//        progressDialog.dismiss();
+        startActivity(new Intent(ct, MeetingActivity.class));
         finish();
-        progressDialog.dismiss();
     }
 
     //判断是否可以进行创建

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

@@ -180,7 +180,7 @@ public class MeetingActivity extends BaseActivity  {
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_add_icon, menu);
+//        getMenuInflater().inflate(R.menu.menu_add_icon, menu);
         return super.onCreateOptionsMenu(menu);
     }
 

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

@@ -11,6 +11,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.db.dao.WorkModelDao;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.WorkModel;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
@@ -18,7 +19,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 
-import java.util.ArrayList;
+import java.util.List;
 
 public class MyRuleSetActivity extends BaseActivity {
 
@@ -37,7 +38,7 @@ public class MyRuleSetActivity extends BaseActivity {
     @ViewInject(R.id.empty_rl)
     private RelativeLayout empty_rl;
 
-    private ArrayList<WorkModel> models;
+    private List<WorkModel> models;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -70,8 +71,9 @@ public class MyRuleSetActivity extends BaseActivity {
             } catch (Exception e) {
                 e.printStackTrace();
             }
+        } else {
+            models = WorkModelDao.getInstance().query(false);
         }
-
         if (isFree || ListUtils.isEmpty(models)) {
             context_ll.setVisibility(View.GONE);
             empty_rl.setVisibility(View.VISIBLE);

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

@@ -913,7 +913,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                 tv_signout_num.setVisibility(View.GONE);
                 break;
             case R.id.meeting://会议管理
-                startActivity(new Intent(activity, MeetingActivity.class));
+                startActivity(new Intent(activity, AddMeetingActivity.class));
                 break;
             case R.id.worklog://工作日志
                 startActivity(new Intent(activity, WorkDailyAddActivity.class));

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

@@ -236,6 +236,68 @@ public class OACheckUtil {
 
     public static String getText(TextView tv) {
         if (tv == null || TextUtils.isEmpty(tv.getText())) return "";
-        return tv.getText().toString();
+        return string2Json(tv.getText().toString());
     }
+
+    /**
+     * JSON字符串特殊字符处理,比如:“\A1;1300”
+     *
+     * @param s
+     * @return String
+     */
+    public static String string2Json(String s) {
+        if (isEmpty(s)) return "";
+        StringBuffer sb = new StringBuffer();
+        s.replaceAll("\n", "");
+        for (int i = 0; i < s.length(); i++) {
+            char c = s.charAt(i);
+            switch (c) {
+                case '\"':
+                    sb.append("\\\"");
+                    break;
+                case '\\':
+                    sb.append("\\\\");
+                    break;
+                case '/':
+                    sb.append("\\/");
+                    break;
+                case '\b':
+                    sb.append("\\b");
+                    break;
+                case '\f':
+                    sb.append("\\f");
+                    break;
+                case '\n':
+                    sb.append("\\n");
+                    break;
+                case '\r':
+                    sb.append("\\r");
+                    break;
+                case '\t':
+                    sb.append("\\t");
+                    break;
+                default:
+                    sb.append(c);
+            }
+        }
+        return sb.toString().replaceAll("%", "");
+    }
+    /**
+     * 判断给定字符串是否空白串。 空白串是指由空格、制表符、回车符、换行符组成的字符串 若输入字符串为null或空字符串,返回true
+     *
+     * @param input
+     * @return boolean
+     */
+    public static boolean isEmpty(String input) {
+        if (input == null || "".equals(input))
+            return true;
+        for (int i = 0; i < input.length(); i++) {
+            char c = input.charAt(i);
+            if (c != ' ' && c != '\t' && c != '\r' && c != '\n') {
+                return false;
+            }
+        }
+        return true;
+    }
+
 }

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/PermissionUtil.java

@@ -25,7 +25,7 @@ public class PermissionUtil {
     public static boolean lacksPermissions(Context context, String... permissions) {
         if (Build.VERSION.SDK_INT >= 23) {
             for (String permission : permissions) {
-                if (lacksPermission(context,permission)) {
+                if (lacksPermission(context, permission)) {
                     return true;
                 }
             }
@@ -39,7 +39,7 @@ public class PermissionUtil {
     }
 
     // 判断是否缺少权限
-    private static boolean lacksPermission(Context context,String permission) {
+    private static boolean lacksPermission(Context context, String permission) {
         return ContextCompat.checkSelfPermission(context, permission) ==
                 PackageManager.PERMISSION_DENIED;
     }

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

@@ -311,6 +311,6 @@
             android:layout_marginBottom="30dp"
             android:layout_marginTop="20dp"
             android:text="@string/common_save_button"
-            android:visibility="gone" />
+        />
     </LinearLayout>
 </ScrollView>

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

@@ -1367,6 +1367,8 @@
     <string name="unsubscribe">-退订</string>
     <string name="not_unsubscribe_able">该订阅号不可退订</string>
     <string name="unsubscribe_able">不可退订</string>
+    <string name="sure_business_release">确定释放这个商机?</string>
+    <string name="add_contact">新增联系人</string>
     <string name="common_list_empty">No data</string>
     <string name="info_2dcode">My QR Code</string>
     <string name="scan_2dcode_addme">Scan the QR Code to add me as a friend </string>
@@ -1382,4 +1384,5 @@
     <string name="Expense_reimbursement">Expense Reimbursement</string>
     <string name="RMB">RMB</string>
     <string name="currency">currency</string>
+    <string name="more_length">size exceeds the maximum length</string>
 </resources>

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

@@ -619,6 +619,7 @@
     <string name="visit_date">拜访日期</string>
     <string name="visitrecord">拜访报告</string>
     <string name="sure_delete_bc">确认删除此商机?</string>
+    <string name="sure_business_release">确定释放这个商机?</string>
     <string-array name="crm_dialog_followup">
         <item>商机释放</item>
         <item>商机失效</item>
@@ -798,6 +799,7 @@
     <string name="not_unsubscribe_able">该订阅号不可退订</string>
     <string name="unsubscribe_able">不可退订</string>
     <string name="add_contact">新增联系人</string>
+    <string name="more_length">超过最大允许长度</string>
     <!--end by Bitliker-->
 
     <!--start by Arison-->

+ 3 - 0
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -594,6 +594,7 @@
     <string name="visit_date">拜訪日期</string>
     <string name="visitrecord">拜訪報告</string>
     <string name="sure_delete_bc">確認删除此商機?</string>
+    <string name="sure_business_release">確定釋放這個商機?</string>
     <string-array name="crm_dialog_followup">
         <item>商機釋放</item>
         <item>商機失效</item>
@@ -770,6 +771,8 @@
     <string name="unsubscribe">-退訂</string>
     <string name="not_unsubscribe_able">該訂閱號不可退訂</string>
     <string name="unsubscribe_able">不可退訂</string>
+    <string name="add_contact">新增連絡人</string>
+    <string name="more_length">超過最大允許長度</string>
     <!--end by Bitliker-->
 
     <!--start by Arison-->

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

@@ -1740,4 +1740,6 @@
     <string name="RMB">人民币</string>
     <string name="currency">币种</string>
     <string name="search_select_hint">搜索项目、品牌、物料、型号等</string>
+    <string name="sure_business_release">确定释放这个商机?</string>
+    <string name="more_length">超过最大允许长度</string>
 </resources>

Some files were not shown because too many files changed in this diff