From 39644c307e98c90e45aea98292c86d70740989e3 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期二, 20 六月 2023 09:17:10 +0800
Subject: [PATCH] backup

---
 force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js |  226 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 222 insertions(+), 4 deletions(-)

diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
index a656549..9597a16 100644
--- a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
@@ -553,6 +553,7 @@
           }
 
           if (reportDate != null) {
+            console.log("reportDate = " + reportDate);
             component.set("v.data.Report_Date__c", reportDate);
           }
 
@@ -1201,6 +1202,7 @@
     component.find("select_Product1").set("v.value", "");
     component.find("select_Product2").set("v.value", "");
     component.find("select_Product3").set("v.value", "");
+    console.log("reportDate = 绌�");
     component.set("v.data.Report_Date__c", "");
     component.set("v.oppdata.Close_Forecasted_Date__c", "");
     component.set("v.oppdata.Amount__c", "");
@@ -2325,12 +2327,14 @@
   },
 
   saveRecords: function (component, event, helper) {
+    debugger;
     component.set("v.login", true);
     //fy 瀵煎叆 20220424 start
     var action1 = component.get("c.processDataAWSId");
     action1.setParams({
       fileData: component.get("v.fileContentData")
     });
+    debugger;
     action1.setCallback(this, function (response) {
       console.log("response = " + JSON.stringify(response));
       var state = response.getState();
@@ -2351,10 +2355,11 @@
                 dataMap.set(item.AWS_Data_Id__c, item.AWS_Data_Id__c); //zhj 鏂版柟妗堟敼閫� 2022-12-21
               }
             });
-            debugger;
             let obj = Object.create(null);
             obj["dataIds"] = dataArr;
             var payload = JSON.stringify(obj);
+            console.log("payload zhj = " + JSON.stringify(payload));
+
             this.search_contact_url(
               component,
               "Agency_Contact__c",
@@ -2383,7 +2388,7 @@
                           helper
                         );
                       } else {
-                        this.error("AWS search status5 ");
+                        this.error("AWS 鏌ヨ鏁版嵁涓虹┖ ");
                         component.set("v.login", false);
                       }
                     } else {
@@ -2463,7 +2468,11 @@
     // });
     // $A.enqueueAction(action);
   },
+  isNumber: function (str) {
+    return /^\d+$/.test(str);
+  },
   ImportMethod: function (component, fileStr) {
+    debugger;
     var actionss = component.get("c.processData");
     var selectDate = component.find("select_date").get("v.value");
     var fieldsList = ["Name", "Phone", "AccountNumber"]; //Please write your code dynamic
@@ -2486,10 +2495,75 @@
         if (res != "success") {
           var ress = res.split("=");
           console.log(ress);
+          let errorDatas = [];
+          let errorDataRow = [];
+          debugger;
           for (var i = 0; i < ress.length; i++) {
             res1 += ress[i].substr(7) + "\n";
+            if (ress[i] != "") {
+              let errorData = {};
+              if (!this.isNumber(ress[i].substr(7).substring(1, 2))) {
+                continue;
+              }
+              let index = errorDataRow.indexOf(
+                ress[i].substr(7).substring(1, 2)
+              );
+              if (index == -1) {
+                errorData.errorRow = ress[i].substr(7).substring(1, 2);
+                errorDataRow.push(errorData.errorRow);
+                errorData.errorInfo = ress[i]
+                  .substr(7)
+                  .substring(5)
+                  .replace("=", "");
+                errorDatas.push(errorData);
+              } else {
+                errorDatas[index].errorInfo +=
+                  "; " + ress[i].substr(7).substring(5);
+              }
+            }
           }
-          // $('.forceToastManager').css('white-space', 'pre-wrap');
+          var fileContentData = component.get("v.fileContentData").split("\n");
+          let errorColumns = [
+            {
+              label: "閿欒琛�",
+              fieldName: "errorRow",
+              type: "text",
+              hideDefaultActions: true,
+              initialWidth: 100
+            },
+            {
+              label: "閿欒淇℃伅",
+              fieldName: "errorInfo",
+              type: "text",
+              hideDefaultActions: true,
+              initialWidth: 300,
+              wrapText: true
+            }
+          ];
+          for (var i = 0; i < fileContentData[0].split(",").length; i++) {
+            errorColumns.push({
+              label: fileContentData[0].split(",")[i],
+              fieldName: "field" + i,
+              type: "text",
+              hideDefaultActions: true,
+              wrapText: true,
+              initialWidth: 120
+            });
+          }
+
+          for (var i = 0; i < errorDatas.length; i++) {
+            let data = fileContentData[errorDatas[i].errorRow];
+            console.log("data = " + JSON.stringify(data));
+            if (data) {
+              for (var j = 0; j < data.split(",").length; j++) {
+                let label = "field" + j;
+                errorDatas[i][label] = data.split(",")[j];
+              }
+            }
+          }
+          component.set("v.errorColumns", errorColumns);
+          component.set("v.errorData", errorDatas);
+          component.set("v.showErrorInfo", true);
           console.log("==" + res1);
           this.error(res1 + "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
           component.set("v.login", false);
@@ -2552,6 +2626,81 @@
     }
 
     if (error != "") {
+      console.log("zhj error = " + error);
+      let errorArray = error.split("error1");
+      let errorDatas = [];
+      let errorDataRow = [];
+      debugger;
+      console.log("errorArray = " + JSON.stringify(errorArray));
+      for (var i in errorArray) {
+        if (errorArray[i] != "") {
+          let errorData = {};
+          if (!this.isNumber(errorArray[i].trim().substring(1, 2))) {
+            continue;
+          }
+          let index = errorDataRow.indexOf(
+            errorArray[i].trim().substring(1, 2)
+          );
+          if (index == -1) {
+            errorData.errorRow = errorArray[i].trim().substring(1, 2);
+            errorDataRow.push(errorData.errorRow);
+            errorData.errorInfo = errorArray[i]
+              .trim()
+              .substring(5, errorArray[i].trim().length)
+              .replace("=", "");
+            errorDatas.push(errorData);
+          } else {
+            errorDatas[index].errorInfo +=
+              "; " +
+              errorArray[i].trim().substring(5, errorArray[i].trim().length);
+          }
+        }
+      }
+      var fileContentData = component.get("v.fileContentData").split("\n");
+      let errorColumns = [
+        {
+          label: "閿欒琛�",
+          fieldName: "errorRow",
+          type: "text",
+          hideDefaultActions: true,
+          initialWidth: 100
+        },
+        {
+          label: "閿欒淇℃伅",
+          fieldName: "errorInfo",
+          type: "text",
+          hideDefaultActions: true,
+          initialWidth: 300,
+          wrapText: true
+        }
+      ];
+      for (var i = 0; i < fileContentData[0].split(",").length; i++) {
+        errorColumns.push({
+          label: fileContentData[0].split(",")[i],
+          fieldName: "field" + i,
+          type: "text",
+          hideDefaultActions: true,
+          wrapText: true,
+          initialWidth: 120
+        });
+      }
+
+      for (var i = 0; i < errorDatas.length; i++) {
+        let data = fileContentData[errorDatas[i].errorRow];
+        console.log("data = " + JSON.stringify(data));
+        for (var j = 0; j < data.split(",").length; j++) {
+          let label = "field" + j;
+          errorDatas[i][label] = data.split(",")[j];
+        }
+      }
+      console.log("errorDatas =" + JSON.stringify(errorDatas));
+      component.set("v.errorColumns", errorColumns);
+      component.set("v.errorData", errorDatas);
+      component.set("v.showErrorInfo", true);
+
+      console.log("error = " + error);
+      component.set("v.errorMessage", error);
+
       this.error(error);
       console.log("error=" + error);
       component.set("v.login", false);
@@ -2861,9 +3010,78 @@
     }
 
     $A.enqueueAction(action);
-  }
+  },
   //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
 
+  //zhj 瀵煎嚭閿欒淇℃伅 2023-05-16 start
+  exportErrorInfoHelper: function (component) {
+    var errorData = component.get("v.errorData");
+    var errorColumns = component.get("v.errorColumns");
+
+    var datas = [];
+    let errorColumnsArray = [];
+    for (var i in errorColumns) {
+      errorColumnsArray.push(errorColumns[i].label);
+    }
+    datas.push(errorColumnsArray);
+    //datas.push(errorColumns);
+
+    for (var i in errorData) {
+      let data = [];
+      data.push(errorData[i].errorRow);
+      data.push(errorData[i].errorInfo);
+      for (var j = 0; j < Object.keys(errorData[i]).length - 2; j++) {
+        data.push(errorData[i]["field" + j]);
+      }
+      datas.push(data);
+    }
+
+    console.log("datas = " + JSON.stringify(datas));
+    var csv = this.convertToCSV(component, datas);
+    console.log("csv = " + JSON.stringify(csv));
+    this.downloadCSV(component, csv);
+  },
+
+  convertToCSV: function (component, data) {
+    console.log("enter convertToCSV");
+    console.log("data = " + data);
+    var csv = "";
+    for (var i = 0; i < data.length; i++) {
+      var row = data[i];
+      console.log("row = " + JSON.stringify(row));
+      for (var j = 0; j < row.length; j++) {
+        var val = "";
+        val = row[j] === null ? "" : row[j].toString();
+        console.log("val = " + val);
+        if (
+          val.indexOf(",") !== -1 ||
+          val.indexOf('"') !== -1 ||
+          val.indexOf("\n") !== -1
+        ) {
+          //val = '"' + val.replace(/"/g,'""') + '"';
+        }
+        if (j > 0) {
+          csv += ",";
+        }
+        csv += val;
+      }
+      csv += "\n";
+    }
+    return csv;
+  },
+
+  downloadCSV: function (component, csv) {
+    var link = document.createElement("a");
+    // 璁剧疆瀛楃闆嗗拰鏂囦欢澶�
+    var bom = "\uFEFF";
+    link.href = "data:text/csv;charset=utf-8," + encodeURIComponent(bom + csv);
+    link.download = "data.csv";
+    document.body.appendChild(link);
+    link.click();
+    document.body.removeChild(link);
+  }
+  //zhj 瀵煎嚭閿欒淇℃伅 2023-05-16 end
+
   // searchAgencyContact : function(res) {
   //     var agencyContacts = [];
   //     for (let idx = 0; idx < res.length; idx++) {

--
Gitblit v1.9.1