Browse Source

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

FANGLH 8 years ago
parent
commit
074cd472a9

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

@@ -376,6 +376,8 @@ public class AddBusinessActivity extends OABaseActivity implements View.OnClickL
 
     @Override
     public void error(int what, String message, Bundle bundle) {
+        if (!StringUtils.isEmpty(message))
+            ToastUtil.showToast(ct, StringUtils.getChinese(message));
         progressDialog.dismiss();
     }
 

+ 198 - 22
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -19,6 +19,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.WindowManager;
+import android.widget.Button;
 import android.widget.EditText;
 import android.widget.PopupWindow;
 import android.widget.TextView;
@@ -54,6 +55,7 @@ import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
+import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.wheel.DateTimePicker;
 import com.xzjmyk.pm.activity.wxapi.ApiConfig;
@@ -74,6 +76,9 @@ import java.util.Map;
 public class VisitReportAddActivity extends BaseActivity implements View.OnClickListener, RecognizerDialogListener {
 
     private static final int LOAD_JIEDUAN = 67;
+    private static final int RES_SUBMIT_VISITRECORD = 0x213;
+    private static final int UPDATE_VISITRECORD = 0x214;
+    private static final int DELETE_VISITRECORD = 0x215;
     @ViewInject(R.id.tv_address_login)
     private FormEditText tv_address_login;
     @ViewInject(R.id.tv_customer_login)
@@ -92,32 +97,66 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
     private FormEditText tv_visit_content;
     @ViewInject(R.id.tv_relate_business)
     private FormEditText tv_relate_business;
+    @ViewInject(R.id.phone_tv)
+    private FormEditText phone_tv;//手机号
 
     @ViewInject(R.id.tv_visit_type)
     private FormEditText tv_visit_type;
+    @ViewInject(R.id.save_btn)
+    private Button save_btn;
+    @ViewInject(R.id.delete_btn)
+    private Button delete_btn;
 
     private int vp_id = -1;
     private int mVrId;
+    private int vr_code;
     private boolean isB2b;
     private boolean isOutplan;
+    /*
+     *单据状态和显示按钮的对应:
+     * 1.已提交==》反提交==》resSubmitVisitRecord.action
+     * 2.在录入==》删除==》deleteVisitRecord.action
+     * 3.无状态==》提交==》saveVisitRecord.action
+     * 4.反提交(点击反提交后的状态)==》更新==》updateVisitRecord.action
+     */
+    private int status;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_visit_report_add);
-        initView();
+        ViewUtils.inject(this);
         initData();
+        initView();
         initListener();
     }
 
     private void initView() {
-        isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
-        ViewUtils.inject(this);
         getSupportActionBar().setTitle(getString(R.string.visitrecord));
         findViewById(R.id.voice_search_iv).setOnClickListener(this);
         if (isB2b) {
             findViewById(R.id.stage_rl).setVisibility(View.GONE);
             findViewById(R.id.business_rl).setVisibility(View.GONE);
+            findViewById(R.id.phone_rl).setVisibility(View.GONE);
+        }
+        switch (status) {
+            case 0:
+                save_btn.setText(R.string.common_submit_button);
+                delete_btn.setVisibility(View.GONE);
+                break;
+            case 1:
+                save_btn.setText(R.string.unsubmit);
+                delete_btn.setVisibility(View.GONE);
+                break;
+            case 2:
+                save_btn.setText(R.string.common_update_button);
+                delete_btn.setVisibility(View.GONE);
+                break;
+            case 3:
+                save_btn.setText(R.string.unsubmit);
+                delete_btn.setVisibility(View.VISIBLE);
+                break;
+
         }
     }
 
@@ -162,9 +201,12 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             tv_linksman_login.setFocusable(false);
             tv_visit_type.setFocusable(false);
         }
+        save_btn.setOnClickListener(this);
+        delete_btn.setOnClickListener(this);
     }
 
     private void initData() {
+        isB2b = ApiUtils.getApiModel() instanceof ApiPlatform;
         if (!isB2b)
             CommonUtil.getCommonId(this, "VISITRECORD_SEQ", mHandler, GET_VR_ID);
         if (getIntent() == null) {
@@ -174,6 +216,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         int type = getIntent().getIntExtra("type", -1);
         if (type == -1) return;
         if (type == 2) {
+            status = 1;
             String chche = getIntent().getStringExtra("data");
             JSONObject object = JSON.parseObject(chche);
             tv_date_start.setText(getTime(object, "vr_visittime", "vr_startdate"));
@@ -193,7 +236,10 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             nichecode = object.getString(getJSONString(object, "vr_nichecode"));
             tv_relate_business.setText(getJSONString(object, "vr_nichename"));
 //            tv_visit_content.setText(getJSONString(object, "vr_detail"));
+            mVrId = OACheckUtil.getJsonIntager(object, "id");
+            vr_code = OACheckUtil.getJsonIntager(object, "vr_code");
         } else if (type == 3) {
+            status = 0;
             //1.开始日期==预计拜访时间  2.客户名称==公司名称  客户地址
             String chche = getIntent().getStringExtra("data");
             JSONObject object = JSON.parseObject(chche);
@@ -235,7 +281,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (getIntent().getBooleanExtra("isMe", true)) {
+        if (getIntent().getBooleanExtra("isMe", true) && isB2b) {
             getMenuInflater().inflate(R.menu.main_btn_submit, menu);
             if (!getIntent().getBooleanExtra("isAgen", false)) {
                 menu.getItem(0).setTitle(getString(R.string.common_save_button));
@@ -248,17 +294,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.btn_save:
-                if (canSubmit()) {
-                    if (isB2b) {
-                        saveB2bByHttp();
-                    } else
-                        CommonInterface.getInstance().getCodeByNet("VisitRecord", new CommonInterface.OnResultListener() {
-                            @Override
-                            public void result(boolean isOk, int result, String message) {
-                                sendHttpResquest(Constants.HTTP_SUCCESS_INIT, message);
-                            }
-                        });
-                }
+                saveVisit();
                 break;
             case android.R.id.home:
                 onBackPressed();
@@ -267,6 +303,20 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         return true;
     }
 
+    private void saveVisit() {
+        if (canSubmit()) {
+            if (isB2b) {
+                saveB2bByHttp();
+            } else
+                CommonInterface.getInstance().getCodeByNet("VisitRecord", new CommonInterface.OnResultListener() {
+                    @Override
+                    public void result(boolean isOk, int result, String message) {
+                        sendHttpResquest(Constants.HTTP_SUCCESS_INIT, message);
+                    }
+                });
+        }
+    }
+
     private static final int GET_VR_ID = 62;
     private Handler mHandler = new Handler() {
         @Override
@@ -283,12 +333,6 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                         submit();
                     } else
                         endActivity();
-//                    mHandler.postDelayed(new Runnable() {
-//                        @Override
-//                        public void run() {
-//
-//                        }
-//                    }, 3000);
                     break;
                 case 0x16://更新状态接口
                     ToastMessage(getString(R.string.update_success));
@@ -339,6 +383,9 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                     }
                     showSimpleDialog(tv_visit_steps, "商机阶段");
                     break;
+                case RES_SUBMIT_VISITRECORD:
+                    save_btn.setText(R.string.common_update_button);
+                    status = 2;
             }
         }
     };
@@ -394,6 +441,10 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             Crouton.makeText(ct, R.string.not_time_start_biger_end);
             return false;
         }
+        if (TextUtils.isEmpty(phone_tv.getText()) || !com.xzjmyk.pm.activity.util.StringUtils.isMobileNumber(phone_tv.getText().toString())) {
+            ToastUtil.showToast(ct, R.string.phone_number_format_error);
+            return false;
+        }
         if (TextUtils.isEmpty(tv_visit_content.getText())) {
             Crouton.makeText(ct, getString(R.string.input_vist_context));
             return false;
@@ -404,7 +455,8 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         return tv_customer_login.testValidity()
                 && tv_linksman_login.testValidity()
                 && tv_address_login.testValidity()
-                && tv_visit_theme.testValidity();
+                && tv_visit_theme.testValidity()
+                ;
     }
 
 
@@ -420,6 +472,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         return true;
     }
 
+    //保存
     private void sendHttpResquest(int what, String code) {
         String emname = CommonUtil.getSharedPreferences(ct, "erp_emname");
         if (StringUtils.isEmpty(emname)) {
@@ -435,6 +488,8 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                             "\"vr_class\":\"" + tv_visit_type.getHint().toString() + "\",\n" +
                             "\"vr_code\":\"" + code
                             + "\",\n" +
+                            "\"vr_tel\":\"" + phone_tv.getText().toString()
+                            + "\",\n" +
                             "\"vr_visittime\":\""
                             + tv_date_start.getText().toString() + //开始时间
                             "\",\n" +
@@ -506,6 +561,7 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, what, null, null, "post");
     }
 
+
     @Override
     public void onClick(View v) {
         HashMap<String, Object> param = null;
@@ -626,6 +682,17 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                 voice.setRecognizerDialogListener(this);  //自己调用自己
                 voice.GetWordFromVoice();
                 break;
+            case R.id.save_btn:
+                if (save_btn.getText().toString().trim().equals(getString(R.string.unsubmit)))
+                    resSubmitVisitRecord();
+                else if (save_btn.getText().toString().trim().equals(getString(R.string.common_update_button)))
+                    updateVisitRecord();
+                else if (save_btn.getText().toString().trim().equals(getString(R.string.common_save_button)))
+                    saveVisit();
+                else saveVisit();
+            case R.id.delete_btn:
+                deleteVisitRecord();
+                break;
         }
     }
 
@@ -835,6 +902,115 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
         ViewUtil.httpSendRequest(this, url, param, mHandler, headers, 0x16, null, null, "post");
     }
 
+    private void resSubmitVisitRecord() {
+        String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") +
+                "crm/customermgr/resSubmitVisitRecord.action";
+        Map<String, Object> param = new HashMap<>();
+        param.put("caller", "VisitRecord");
+        param.put("id", mVrId);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
+        ViewUtil.httpSendRequest(this, url, param, mHandler, headers, RES_SUBMIT_VISITRECORD, null, null, "post");
+    }
+
+    private void deleteVisitRecord() {
+        if (!canSubmit()) return;
+        String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") +
+                "crm/customermgr/deleteVisitRecord.action";
+        Map<String, Object> param = new HashMap<>();
+        param.put("caller", "VisitRecord");
+        param.put("id", mVrId);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
+        ViewUtil.httpSendRequest(this, url, param, mHandler, headers, DELETE_VISITRECORD, null, null, "post");
+    }
+
+    private void updateVisitRecord() {
+        String emname = CommonUtil.getName();
+        String formStore = "";
+        if (tv_customer_login.testValidity() && tv_linksman_login.testValidity()
+                && tv_address_login.testValidity() && tv_visit_theme.testValidity()
+                && tv_visit_content.testValidity()) {
+            formStore =
+                    "{\n" +
+                            "\"vr_id\":" + mVrId + ",\n" +
+                            "\"vr_class\":\"" + tv_visit_type.getHint().toString() + "\",\n" +
+                            "\"vr_code\":\"" + vr_code
+                            + "\",\n" +
+                            "\"vr_tel\":\"" +
+                            CommonUtil.getNoMarkEditText(phone_tv)
+                            + "\",\n" +
+                            "\"vr_visittime\":\""
+                            + tv_date_start.getText().toString() + //开始时间
+                            "\",\n" +
+                            "\"vr_visitplace\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_address_login) +
+                            "\",\n" +
+                            "\"vr_cuname\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_customer_login) +
+                            "\",\n" +
+                            "\"vr_cucontact\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_linksman_login) +
+                            "\",\n" +
+                            "\"vr_contact\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_linksman_login) +
+                            "\",\n" +
+                            "\"vr_title\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_visit_theme) +//主题
+                            "\",\n" +
+                            "\"vr_nichestep\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_visit_steps) +
+                            "\",\n" +
+                            "\"vr_detail\":\"" +
+                            CommonUtil.getNoMarkEditText(tv_visit_content) +
+                            "\",\n" +
+                            "\"vr_nichecode\":\"" +
+                            nichecode +
+                            "\",\n" +
+                            "\"vr_nichename\":\"" +
+                            (TextUtils.isEmpty(tv_relate_business.getText()) ? "" : tv_relate_business.getText().toString()) +
+                            "\",\n" +
+                            "\"vr_recorddate\":\"" +
+                            DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd") +
+                            "\",\n" +
+                            "\"vr_statuscode\":\"" +
+                            "ENTERING" +
+                            "\",\n" +
+                            "\"vr_recorder\":\"" +
+                            emname +
+                            "\",\n" +
+                            "\"vr_status\":\"" +
+                            "在录入" +
+                            "\",\n" +
+                            "\"vr_cuuu\":\"" +
+                            cu_code +
+                            "\",\n" +
+                            "\"vr_visitend\":\"" +
+                            tv_date_end.getText().toString() +//结束时间
+                            "\"\n" +
+                            "}";
+        } else {
+            return;
+        }
+        if (progressDialog != null)
+            progressDialog.show();
+        String url = Constants.getAppBaseUrl(ct) + "uas/crm/customermgr/updateVisitRecord.action";
+        Map<String, Object> params = new HashMap<>();
+        params.put("formStore", formStore);
+        params.put("caller", "VisitRecord");
+        String param1 = "{\"pl_detno\":1,\"pl_name\":" + emname + ",\"pl_vrid\":" + mVrId + "}";
+        params.put("param1", "[]");
+        params.put("param2", "[]");
+        params.put("param3", param1);
+        params.put("param4", "[]");
+        params.put("param5", "[]");
+        params.put("param6", "[]");
+        params.put("param7", "[]");
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+        ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, UPDATE_VISITRECORD, null, null, "post");
+    }
+
     //提交审批流
     private void submit() {
         String url = CommonUtil.getSharedPreferences(this, "erp_baseurl") +

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

@@ -26,6 +26,6 @@ public class OAConfig {
 
     /*是否显示Crm2.0功能*/
     public static boolean canShowCrm2_0() {
-        return true;
+        return false;
     }
 }

+ 72 - 4
WeiChat/src/main/res/layout/activity_visit_report_add.xml

@@ -150,6 +150,37 @@
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
 
+        <RelativeLayout
+            android:id="@+id/phone_rl"
+            style="@style/form_relative_customer"
+            android:layout_marginBottom="1dp"
+            android:background="@color/white">
+
+            <TextView
+                android:id="@+id/phone_tag"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="20dp"
+                android:drawablePadding="10dp"
+                android:gravity="center"
+                android:text="@string/common_tel"
+                android:textColor="@color/text_main"
+                android:textSize="@dimen/text_main" />
+
+            <TextView
+                style="@style/form_relative_left_text"
+                android:layout_marginLeft="35dp"
+                android:layout_toRightOf="@+id/phone_tag"
+                android:text="*"
+                android:textColor="@color/red" />
+
+            <com.andreabaccega.widget.FormEditText xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
+                android:id="@+id/phone_tv"
+                style="@style/form_relative_right_text"
+                android:hint="@string/common_input"
+                editTextFormExample:testType="nocheck" />
+        </RelativeLayout>
 
         <RelativeLayout
             android:id="@+id/address_erp_rl"
@@ -283,14 +314,14 @@
                 android:text="*"
                 android:textColor="@color/red"
                 android:visibility="invisible" />
-<!--  android:enabled="false"
-                android:focusable="false"
-                android:focusableInTouchMode="false"-->
+            <!--  android:enabled="false"
+                            android:focusable="false"
+                            android:focusableInTouchMode="false"-->
             <com.andreabaccega.widget.FormEditText xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
                 android:id="@+id/tv_visit_steps"
                 style="@style/form_relative_right_text"
                 android:drawableRight="@drawable/nav_icon_search_default"
-              
+
                 android:hint=""
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
@@ -365,5 +396,42 @@
                 android:maxHeight="1000sp"
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
+
+        <LinearLayout
+            style="@style/crm_ll_card"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="50dp"
+            android:layout_marginTop="20dp"
+            android:orientation="horizontal">
+
+            <Button
+                android:id="@+id/save_btn"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="50dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:layout_marginTop="30dp"
+                android:layout_weight="1"
+                android:background="@drawable/shape_from_edit"
+                android:padding="10dp"
+                android:text="@string/common_save_button"
+                android:textSize="@dimen/text_main" />
+
+            <Button
+                android:id="@+id/delete_btn"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="50dp"
+                android:layout_marginLeft="20dp"
+                android:layout_marginRight="20dp"
+                android:layout_marginTop="30dp"
+                android:layout_weight="1"
+                android:background="@drawable/shape_from_edit"
+                android:padding="10dp"
+                android:text="@string/common_delete"
+                android:textSize="@dimen/text_main"
+                android:visibility="gone" />
+        </LinearLayout>
     </LinearLayout>
 </ScrollView>

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

@@ -122,7 +122,7 @@
             android:layout_alignTop="@+id/point2"
             android:layout_marginLeft="10dp"
             android:layout_toRightOf="@+id/point2"
-            android:text="@string/work_signin"
+            android:text="@string/unwork_signin"
             android:textColor="@color/text_hine"
             android:textSize="@dimen/text_main" />
 

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

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<resources>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- start公用部分-->
         <string name = "uas_company_name"> Shenzhen Youyou Technology Co., Ltd. </string>
         <string name = "common_save_button"> Save </string>
@@ -1321,7 +1321,7 @@
     <string name="create_room_failed">创建群失败</string>
     <string name="room_name">群名称</string>
     <string name="room_description">群说明</string>
-    <string name="room_number">人       数</string>
+    <string name="room_number">人&#160;&#160;&#160;&#160;数</string>
     <string name="new_join_son_to_chating">新加入的小伙伴们,快来聊天吧!</string>
     <string name="no_notice">暂时无公告</string>
     <string name="no_block_room_message">取消屏蔽群消息</string>

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

@@ -740,7 +740,7 @@
     <string name="create_room_failed">创建群失败</string>
     <string name="room_name">群名称</string>
     <string name="room_description">群说明</string>
-    <string name="room_number">人       数</string>
+    <string name="room_number">人&#160;&#160;&#160;&#160;数</string>
     <string name="new_join_son_to_chating">新加入的小伙伴们,快来聊天吧!</string>
     <string name="no_notice">暂时无公告</string>
     <string name="no_block_room_message">取消屏蔽群消息</string>

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

@@ -1695,7 +1695,7 @@
     <string name="friend_to_chat">你们已经是好友了,开始聊天吧</string>
     <string name="not_system_permission">应用没有获取到权限</string>
     <string name="room_description">群说明</string>
-    <string name="room_number">人       数</string>
+    <string name="room_number">人&#160;&#160;&#160;&#160;数</string>
     <string name="new_join_son_to_chating">新加入的小伙伴们,快来聊天吧!</string>
     <string name="no_notice">暂时无公告</string>
     <string name="no_block_room_message">取消屏蔽群消息</string>