Guo1B0 10 ヶ月 前
コミット
d12f99a736

+ 62 - 47
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -24,6 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -95,61 +96,75 @@ public class BusinessOpportunityController {
         JSONArray configObJSONArray = configOb.getJSONArray("list");
         List<List<String>> dataList=new ArrayList<>();
         List<String> titleList=new ArrayList<>();
+        List<String> modelList=new ArrayList<>();
         for (int i = 0; i < configObJSONArray.size(); i++) {
             JSONObject item = configObJSONArray.getJSONObject(i);
-            titleList.add(item.getString("label"));
+            String type = item.getString("type");
+            if (type.equals("grid")){
+                JSONArray columns = item.getJSONArray("columns");
+                for (int j = 0; j < columns.size(); j++) {
+                    JSONObject columnsJSONObject = columns.getJSONObject(j);
+                    JSONArray listJsonArray = columnsJSONObject.getJSONArray("list");
+                    for (int k = 0; k < listJsonArray.size(); k++) {
+                        JSONObject listJsonArrayJSONObject = listJsonArray.getJSONObject(k);
+                        titleList.add(listJsonArrayJSONObject.getString("label"));
+                        modelList.add(listJsonArrayJSONObject.getString("model"));
+                    }
+                }
+            }
+            else {
+                titleList.add(item.getString("label"));
+                modelList.add(item.getString("model"));
+            }
         }
         dataList.add(titleList);
-        HttpRespMsg msg = list(bo, request);
-        Map<String, Object> msgData = (Map<String, Object>) msg.getData();
-        List<BusinessOpportunity> bos = (List<BusinessOpportunity>) msgData.get("data");
-        for (BusinessOpportunity bo1 : bos) {
+
+        HttpRespMsg respMsg = list(bo,request);
+        Map<String, Object> msgData = (Map<String, Object>) respMsg.getData();
+        List<BusinessOpportunity> list = (List<BusinessOpportunity>) msgData.get("data");
+
+        for (BusinessOpportunity data : list) {
             List<String> item=new ArrayList<>();
-            for (int i = 0; i < configObJSONArray.size(); i++) {
-                JSONObject target = configObJSONArray.getJSONObject(i);
-                if(target.getString("type").equals("grid")){
-                    JSONArray columns = target.getJSONArray("columns");
-                    for (int i1 = 0; i1 < columns.size(); i1++) {
-                        JSONObject columnsJSONObject = columns.getJSONObject(i1);
-                        JSONArray list = columnsJSONObject.getJSONArray("list");
-                        for (int i2 = 0; i2 < list.size(); i2++) {
-                            JSONObject object = list.getJSONObject(i2);
-                            String model = object.getString("model");
-                            String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
-                            Class<? extends BusinessOpportunity> aClass = bo1.getClass();
-                            String value = String.valueOf(aClass.getMethod("get" + targetName).invoke(bo1)==null?"":aClass.getMethod("get" + targetName).invoke(bo1));
-                            if(model.equals("inchargerId")){
-                                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                                    value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1))+"$";
-                                }else {
-                                    value = String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1));
-                                }
-                            }
-                            item.add(value);
-                        }
+            for (int i = 0; i < modelList.size(); i++) {
+
+                String model = modelList.get(i);
+                String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
+                Class<? extends BusinessOpportunity> aClass = data.getClass();
+                String value = "";
+
+                if(model.equals("inchargerId")){
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                        value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                    }else {
+                        value = String.valueOf(aClass.getMethod("getInchargerName").invoke(data)).equals("null") ? "" :String.valueOf(aClass.getMethod("getInchargerName").invoke(data));
                     }
                 }else {
-                    String model = target.getString("model");
-                    String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
-                    Class<? extends BusinessOpportunity> aClass = bo1.getClass();
-                    Object o = aClass.getMethod("get" + targetName).invoke(bo1) == null ? "" : aClass.getMethod("get" + targetName).invoke(bo1);
-                    String value = String.valueOf(o);
-                    if(model.equals("inchargerId")){
-                        if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                            value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1))+"$";
-                        }else {
-                            value = String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1));
-                        }
-                    }
-                    if(model.equals("contactsId")){
-                        if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                            value = "$userName"+String.valueOf(aClass.getMethod("getContactsName").invoke(bo1))+"$";
-                        }else {
-                            value = String.valueOf(aClass.getMethod("getContactsName").invoke(bo1));
-                        }
-                    }
-                    item.add(value);
+                    value= String.valueOf(aClass.getMethod("get" + targetName).invoke(data)==null?"":aClass.getMethod("get" + targetName).invoke(data));
+                }
+
+                if(model.equals("contactsId")){
+                    value = String.valueOf(aClass.getMethod("getContactsName").invoke(data));
+                }
+                if(model.equals("customerId")){
+                    value = String.valueOf(aClass.getMethod("getCustomerName").invoke(data));
                 }
+                if(model.equals("expectedTransactionDate")){
+                    Date date = (Date) aClass.getMethod("getExpectedTransactionDate").invoke(data);
+                    // 如果日期不为空,格式化日期
+                    if (date != null) {
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                        value = sdf.format(date);
+                    } else {
+                        value = "";
+                }                }
+                if(model.equals("stageId")){
+                    value = String.valueOf(aClass.getMethod("getStageValue").invoke(data));
+                }
+                if(model.equals("creatorId")){
+                    value = String.valueOf(aClass.getMethod("getCreatorName").invoke(data));
+                }
+
+                item.add(value);
             }
             dataList.add(item);
         }

+ 48 - 53
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/CustomController.java

@@ -114,67 +114,62 @@ public class CustomController {
         JSONArray configObJSONArray = configOb.getJSONArray("list");
         List<List<String>> dataList=new ArrayList<>();
         List<String> titleList=new ArrayList<>();
+        List<String> modelList=new ArrayList<>();
         for (int i = 0; i < configObJSONArray.size(); i++) {
             JSONObject item = configObJSONArray.getJSONObject(i);
-            titleList.add(item.getString("label"));
+            String type = item.getString("type");
+            if (type.equals("grid")){
+                JSONArray columns = item.getJSONArray("columns");
+                for (int j = 0; j < columns.size(); j++) {
+                    JSONObject columnsJSONObject = columns.getJSONObject(j);
+                    JSONArray listJsonArray = columnsJSONObject.getJSONArray("list");
+                    for (int k = 0; k < listJsonArray.size(); k++) {
+                        JSONObject listJsonArrayJSONObject = listJsonArray.getJSONObject(k);
+                        titleList.add(listJsonArrayJSONObject.getString("label"));
+                        modelList.add(listJsonArrayJSONObject.getString("model"));
+                    }
+                }
+            }
+            else {
+                titleList.add(item.getString("label"));
+                modelList.add(item.getString("model"));
+            }
         }
         dataList.add(titleList);
-        HttpRespMsg msg = list(custom, request);
-        Map<String, Object> msgData = (Map<String, Object>) msg.getData();
-        List<Custom> bos = (List<Custom>) msgData.get("data");
-        for (Custom bo1 : bos) {
+
+        HttpRespMsg respMsg = list(custom,request);
+        Map<String, Object> msgData = (Map<String, Object>) respMsg.getData();
+        List<Custom> list = (List<Custom>) msgData.get("data");
+
+        for (Custom data : list) {
             List<String> item=new ArrayList<>();
-            for (int i = 0; i < configObJSONArray.size(); i++) {
-                JSONObject target = configObJSONArray.getJSONObject(i);
-                if(target.getString("type").equals("grid")){
-                    JSONArray columns = target.getJSONArray("columns");
-                    for (int i1 = 0; i1 < columns.size(); i1++) {
-                        JSONObject columnsJSONObject = columns.getJSONObject(i1);
-                        JSONArray list = columnsJSONObject.getJSONArray("list");
-                        for (int i2 = 0; i2 < list.size(); i2++) {
-                            JSONObject object = list.getJSONObject(i2);
-                            String model = object.getString("model");
-                            String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
-                            Class<? extends Custom> aClass = bo1.getClass();
-                            String value = String.valueOf(aClass.getMethod("get" + targetName).invoke(bo1)==null?"":aClass.getMethod("get" + targetName).invoke(bo1));
-                            if(model.equals("inchargerId")){
-                                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                                    value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1))+"$";
-                                }else {
-                                    value = String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1));
-                                }
-                            }
-                            if(model.equals("customSourceValue")){
-                                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                                    value = "$userName"+String.valueOf(aClass.getMethod("getCustomSourceValue").invoke(bo1))+"$";
-                                }else {
-                                    value = String.valueOf(aClass.getMethod("getCustomSourceValue").invoke(bo1)).equals("null") ?"" :String.valueOf(aClass.getMethod("getCustomSourceValue").invoke(bo1));
-                                }
-                            }
-                            item.add(value);
-                        }
+            for (int i = 0; i < modelList.size(); i++) {
+
+                String model = modelList.get(i);
+                String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
+                Class<? extends Custom> aClass = data.getClass();
+                String value = "";
+
+                if(model.equals("inchargerId")){
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                        value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(data))+"$";
+                    }else {
+                        value = String.valueOf(aClass.getMethod("getInchargerName").invoke(data)).equals("null") ? "" :String.valueOf(aClass.getMethod("getInchargerName").invoke(data));
                     }
                 }else {
-                    String model = target.getString("model");
-                    String targetName = model.substring(0, 1).toUpperCase() + model.substring(1);
-                    Class<? extends Custom> aClass = bo1.getClass();
-                    String value = String.valueOf(aClass.getMethod("get" + targetName).invoke(bo1)==null?"":aClass.getMethod("get" + targetName).invoke(bo1));
-                    if(model.equals("inchargerId")){
-                        if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                            value = "$userName"+String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1))+"$";
-                        }else {
-                            value = String.valueOf(aClass.getMethod("getInchargerName").invoke(bo1));
-                        }
-                    }
-                    if(model.equals("contactsId")){
-                        if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                            value = "$userName"+String.valueOf(aClass.getMethod("getContactsName").invoke(bo1))+"$";
-                        }else {
-                            value = String.valueOf(aClass.getMethod("getContactsName").invoke(bo1));
-                        }
-                    }
-                    item.add(value);
+                    value= String.valueOf(aClass.getMethod("get" + targetName).invoke(data)==null?"":aClass.getMethod("get" + targetName).invoke(data));
+                }
+
+                if(model.equals("clueSourceId")){
+                    value = String.valueOf(aClass.getMethod("getClueSourceValue").invoke(data));
+                }
+                if(model.equals("customerLevelId")){
+                    value = String.valueOf(aClass.getMethod("getCustomerLevelValue").invoke(data));
+                }
+                if(model.equals("customerIndustryId")){
+                    value = String.valueOf(aClass.getMethod("getCustomerIndustryValue").invoke(data));
                 }
+                item.add(value);
             }
             dataList.add(item);
         }