Parcourir la source

CRM客户管理bug修复

RaoMeng il y a 7 ans
Parent
commit
b4b285231b

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Mon Dec 10 15:12:53 CST 2018
+#Sun Dec 23 21:00:28 CST 2018
 debugName=971
-versionName=650
+versionName=654
 debugCode=971
-versionCode=205
+versionCode=209

+ 1 - 1
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -105,7 +105,7 @@ public class CommonUtil {
 //        if (BaseConfig.isDebug()){
 //            baseUrl="http://192.168.253.243:8080/ERP/";
 //        }
-        baseUrl = "http://192.168.253.12/APP/";
+//        baseUrl = "http://192.168.253.12/APP/";
 //        baseUrl = "http://192.168.253.12/ERP/";
 //        baseUrl = "http://192.168.253.63:8080/ERP/";
         return baseUrl;

+ 22 - 1
app_core/network/src/main/java/com/me/network/app/http/logger/HttpLogger.java

@@ -14,7 +14,28 @@ public class HttpLogger implements HttpLoggerInterceptor.Logger {
     @Override
     public void log(String message) {
         if (message != null) {
-            Log.d("HttpLogger", message);
+            prinlnLongMsg("HttpLogger", message);
         }
     }
+
+    public static void prinlnLongMsg(String TAG, String responseInfo) {
+        if (responseInfo != null) {
+            if (responseInfo.length() >=3000) {
+                Log.v(TAG, "sb.length = " + responseInfo.length());
+                int chunkCount = responseInfo.length() / 3000;     // integer division
+                for (int i = 0; i <= chunkCount; i++) {
+                    int max = 3000 * (i + 1);
+                    if (max >= responseInfo.length()) {
+                        Log.i(TAG, "【"+ i + "】" + responseInfo.substring(3000 * i));
+                    } else {
+                        Log.i(TAG, "【" + i+ "】" + responseInfo.substring(3000 * i, max));
+                    }
+                }
+            } else {
+                Log.d(TAG, "sb.length = " + responseInfo.length());
+                Log.i(TAG, responseInfo.toString());
+            }
+        }
+
+    }
 }

+ 14 - 17
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerBillInputActivity.java

@@ -2,15 +2,10 @@ package com.uas.appworks.crm3_0.activity;
 
 import android.content.Intent;
 
-import android.os.Parcelable;
-import android.view.MenuItem;
-import android.widget.GridView;
+import android.text.TextUtils;
 import android.widget.PopupWindow;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baidu.mapapi.model.LatLng;
-import com.common.LogUtil;
-import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.core.app.Constants;
 import com.core.utils.CommonUtil;
@@ -21,14 +16,11 @@ import com.modular.apputils.listener.OnSmartHttpListener;
 import com.modular.apputils.model.BillGroupModel;
 import com.modular.apputils.network.Parameter;
 import com.modular.apputils.network.Tags;
-import com.modular.apputils.presenter.BillPresenter;
 import com.modular.apputils.utils.PopupWindowHelper;
 import com.modular.apputils.utils.UUHttpHelper;
 import com.uas.appworks.R;
 import com.uas.appworks.adapter.CustomerBillInputAdapter;
 
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 
@@ -38,7 +30,6 @@ import java.util.List;
 public class CustomerBillInputActivity extends BillInputActivity {
 
 
-
     @Override
     public BillAdapter newBillAdapter(List<BillGroupModel> groupModels) {
         return new CustomerBillInputAdapter(ct, groupModels, this, new CustomerBillInputAdapter.CompanyClickListener() {
@@ -59,11 +50,11 @@ public class CustomerBillInputActivity extends BillInputActivity {
 
     @Override
     public void commitSuccess(int keyValue, String code) {
-        endActivity();
+        endActivity(keyValue);
 //        batchDealCustomerLngLat(keyValue);
     }
 
-    private void batchDealCustomerLngLat(int keyValue) {
+    private void batchDealCustomerLngLat(final int keyValue) {
         boolean isGoodCus = !mBillPresenter.getFormCaller().equals("PreCustomer");
         String condition = isGoodCus ? ("cu_id=" + keyValue + "") : "1=2";
         String precondition = isGoodCus ? "1=2" : ("cu_id=" + keyValue + "");
@@ -75,18 +66,18 @@ public class CustomerBillInputActivity extends BillInputActivity {
                 , new OnSmartHttpListener() {
                     @Override
                     public void onSuccess(int what, String message, Tags tag) throws Exception {
-                        endActivity();
+                        endActivity(keyValue);
                     }
 
                     @Override
                     public void onFailure(int what, String message, Tags tag) throws Exception {
-                        endActivity();
+                        endActivity(keyValue);
                     }
                 });
 
     }
 
-    private void endActivity() {
+    private void endActivity(int formId) {
         ToastMessage("提交成功!");
         if (((CustomerBillInputAdapter) mBillAdapter).isAddContact()) {
             HashMap<String, String> hashMap = new HashMap<>();
@@ -105,11 +96,17 @@ public class CustomerBillInputActivity extends BillInputActivity {
                     .putExtra(Constants.Intents.HASH_MAP, hashMap));
         } else {
             //进入详情界面
-            Intent intent = new Intent("com.modular.form.erp.activity.CommonDocDetailsActivity");
+            /*Intent intent = new Intent("com.modular.form.erp.activity.CommonDocDetailsActivity");
             intent.putExtra("form_new_bill", true);
             intent.putExtra("caller", mBillPresenter.getFormCaller());
             intent.putExtra("keyValue", mBillPresenter.getFormId());
-            startActivity(intent);
+            startActivity(intent);*/
+
+            startActivity(new Intent(ct, CustomerDetails3_0Activity.class)
+                    .putExtra(Constants.Intents.CALLER, mBillPresenter.getFormCaller())
+                    .putExtra(Constants.Intents.TITLE, getToolBarTitle())
+                    .putExtra(Constants.Intents.MY_DOIT, true)
+                    .putExtra(Constants.Intents.ID, formId));
             //进入列表界面
 //            startActivity(new Intent(ct, CustomerListActivity.class)
 //                    .putExtra(Constants.Intents.CALLER, mBillPresenter.getFormCaller())

+ 11 - 2
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitActivity.java

@@ -5,6 +5,7 @@ import android.graphics.Color;
 import android.os.Bundle;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
 import android.util.SparseArray;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -28,6 +29,7 @@ import com.me.network.app.http.Method;
 import com.modular.apputils.listener.OnSmartHttpListener;
 import com.modular.apputils.network.Parameter;
 import com.modular.apputils.network.Tags;
+import com.modular.apputils.utils.RecyclerItemDecoration;
 import com.modular.apputils.utils.UUHttpHelper;
 import com.modular.apputils.widget.DivideRadioGroup;
 import com.modular.apputils.widget.compactcalender.CompactCalendarView;
@@ -143,6 +145,7 @@ public class CustomerVisitActivity extends BaseActivity {
         mCalendarView.setLocale(TimeZone.getDefault(), Locale.CHINESE);
         mCalendarView.setUseThreeLetterAbbreviation(true);
         mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
+        mRecyclerView.addItemDecoration(new RecyclerItemDecoration(1));
         changeDay();
     }
 
@@ -232,17 +235,19 @@ public class CustomerVisitActivity extends BaseActivity {
                 int id = JSONUtil.getInt(object, "id");
                 String code = JSONUtil.getText(object, "code");
                 String customerName = JSONUtil.getText(object, "customer_name");
+                String projectName = JSONUtil.getText(object, "xm_name");
                 String customerAddress = JSONUtil.getText(object, "customer_address");
                 long entryDate = JSONUtil.getTime(object, "entry_date");
                 long startTime = JSONUtil.getTime(object, "start_time");
                 long endTime = JSONUtil.getTime(object, "end_time");
-                String status = JSONUtil.getText(object, "mpd_zdstatus","status");
+                String status = JSONUtil.getText(object, "mpd_zdstatus", "status");
                 String doman = JSONUtil.getText(object, "doman");
                 String domanCode = JSONUtil.getText(object, "domanCode");
                 mVisitPlan.setId(id);
                 mVisitPlan.setCode(code);
                 mVisitPlan.setRecordDay(DateFormatUtil.long2Str(entryDate, DateFormatUtil.YMD));
                 mVisitPlan.setCustomerName(customerName);
+                mVisitPlan.setProjectName(projectName);
                 mVisitPlan.setCustomerAddress(customerAddress);
                 mVisitPlan.setStartTime(startTime);
                 mVisitPlan.setEndTime(endTime);
@@ -347,7 +352,11 @@ public class CustomerVisitActivity extends BaseActivity {
         @Override
         public void onBindViewHolder(VisitRecordViewHolder holder, int i) {
             VisitPlan mVisitPlan = visitPlans.get(i);
-            holder.dateTv.setText("客户名称:"+mVisitPlan.getCustomerName());
+            if (!TextUtils.isEmpty(mVisitPlan.getCustomerName())) {
+                holder.dateTv.setText("客户名称:" + mVisitPlan.getCustomerName());
+            } else if (!TextUtils.isEmpty(mVisitPlan.getProjectName())) {
+                holder.dateTv.setText("项目名称:" + mVisitPlan.getProjectName());
+            }
 //            holder.dateTv.setText(mVisitPlan.getRecordDay());
             holder.doManTv.setText(mVisitPlan.getDoman());
             holder.statusTv.setText(mVisitPlan.getStatus());

+ 44 - 7
app_modular/appworks/src/main/java/com/uas/appworks/crm3_0/activity/CustomerVisitDetailsActivity.java

@@ -6,7 +6,6 @@ import android.text.TextUtils;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
-import android.widget.ListAdapter;
 import android.widget.ListView;
 import android.widget.TextView;
 
@@ -20,8 +19,6 @@ import com.core.base.BaseToolBarActivity;
 import com.core.base.OABaseActivity;
 import com.core.utils.CommonUtil;
 import com.me.network.app.http.Method;
-import com.modular.apputils.activity.BillDetailsActivity;
-import com.modular.apputils.activity.BillInputActivity;
 import com.modular.apputils.listener.OnSmartHttpListener;
 import com.modular.apputils.model.BillGroupModel;
 import com.modular.apputils.network.Parameter;
@@ -47,11 +44,20 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
     private TextView statusTv;
     private String status;
     private boolean isMe;
+    private boolean optionMenuOn = false;
+    private Menu mMenu;
+    private String mBillStatus;
 
+    @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        mMenu = menu;
+        checkOptionMenu();
+        return super.onPrepareOptionsMenu(menu);
+    }
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (isMe && (TextUtils.isEmpty(status) || !status.equals("已审核"))) {
+        if (isMe && (TextUtils.isEmpty(mBillStatus) || !mBillStatus.equals("已审核"))) {
             getMenuInflater().inflate(com.modular.apputils.R.menu.menu_input_edit, menu);
         }
         return super.onCreateOptionsMenu(menu);
@@ -75,6 +81,22 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
         return super.onOptionsItemSelected(item);
     }
 
+    private void checkOptionMenu() {
+        if (null != mMenu) {
+            if (optionMenuOn) {
+                for (int i = 0; i < mMenu.size(); i++) {
+                    mMenu.getItem(i).setVisible(true);
+                    mMenu.getItem(i).setEnabled(true);
+                }
+            } else {
+                for (int i = 0; i < mMenu.size(); i++) {
+                    mMenu.getItem(i).setVisible(false);
+                    mMenu.getItem(i).setEnabled(false);
+                }
+            }
+        }
+    }
+
     private void unSubmit() {
         mUUHttpHelper.requestCompanyHttp(new Parameter.Builder()
                         .url("mobile/commonres.action")
@@ -110,6 +132,15 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                 setTitle(mTitle);
             }
         }
+        if (TextUtils.isEmpty(status) || (!"已完成".equals(status) && !"已转单".equals(status))) {
+            statusTv.setText("完成拜访");
+            statusTv.setTextColor(0xFF2F98F9);
+            statusTv.setOnClickListener(mOnClickListener);
+        } else {
+            statusTv.setText("已完成拜访");
+            statusTv.setTextColor(0xFF666666);
+            statusTv.setOnClickListener(null);
+        }
         loadFormandGridDetail();
     }
 
@@ -162,7 +193,7 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                     startActivity(new Intent(ct, CustomerVisitBillInputActivity.class)
                             .putExtra(Constants.Intents.CALLER, mCaller)
                             .putExtra(Constants.Intents.DETAILS_CLASS, CustomerVisitDetailsActivity.class)
-                            .putExtra(Constants.Intents.INPUT_CLASS,CustomerVisitBillInputActivity.class)
+                            .putExtra(Constants.Intents.INPUT_CLASS, CustomerVisitBillInputActivity.class)
                             .putExtra(Constants.Intents.TITLE, ((BaseToolBarActivity) ct).getToolBarTitle())
                             .putExtra(Constants.Intents.ID, mId)
                     );
@@ -190,6 +221,12 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
         JSONArray formdatas = JSONUtil.getJSONArray(datas, "formdata");
         if (!ListUtils.isEmpty(formdatas)) {
             JSONObject formdata = formdatas.getJSONObject(0);//主表数据
+            mBillStatus = JSONUtil.getText(formdata, "mp_status");
+            if (isMe && (TextUtils.isEmpty(mBillStatus) || !mBillStatus.equals("已审核"))) {
+                optionMenuOn = true;
+                checkOptionMenu();
+            }
+
             JSONArray formconfigs = JSONUtil.getJSONArray(datas, "formconfigs");//主表配置
             BillGroupModel mGroupModel = new BillGroupModel();
             mGroupModel.setForm(true);
@@ -213,7 +250,7 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                 handlerModelByObject(mGroupModel, gridconfigs, griddata);
                 mBillGroupModels.add(mGroupModel);
                 String perCode = JSONUtil.getText(griddata, "mpd_personnum");
-                if (perCode.equals(myEmCode)) {
+                /*if (perCode.equals(myEmCode)) {
                     String status = JSONUtil.getText(griddata, "mpd_status");
                     if (TextUtils.isEmpty(status) || !"已完成".equals(status)) {
                         statusTv.setText("完成拜访");
@@ -224,7 +261,7 @@ public class CustomerVisitDetailsActivity extends OABaseActivity {
                         statusTv.setTextColor(0xFF666666);
                         statusTv.setOnClickListener(null);
                     }
-                }
+                }*/
             }
         }
         setAdapter(mBillGroupModels);

+ 9 - 0
app_modular/appworks/src/main/java/com/uas/appworks/model/VisitPlan.java

@@ -6,6 +6,7 @@ public class VisitPlan {
     private String code;
     private long entryDate;
     private String customerName;
+    private String projectName;
     private String customerAddress;
     private long startTime;
     private long endTime;
@@ -54,6 +55,14 @@ public class VisitPlan {
         this.customerName = customerName;
     }
 
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
     public long getStartTime() {
         return startTime;
     }

+ 2 - 1
app_modular/appworks/src/main/res/layout/item_customer_detail_bottom_visitrecord.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@color/white"
@@ -28,7 +29,7 @@
         android:layout_width="0dp"
         android:paddingRight="8dp"
         android:layout_height="wrap_content"
-        android:text="2018-09-23"
+        tools:text="2018-09-23"
         app:layout_constraintRight_toLeftOf="@id/statusTv"
         android:textColor="#FF666666"
         android:textSize="15sp"