From e6068da47c1bef5517c9e5fdc8c726766867ad4e Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 15:10:02 +0800
Subject: [PATCH] Merge branch 'master' into LEXUpgrade2023-Deloitte

---
 force-app/main/default/classes/LexOutboundorderImportController.cls | 1918 +++++++++++++++++++++++++++--------------------------------
 1 files changed, 891 insertions(+), 1,027 deletions(-)

diff --git a/force-app/main/default/classes/LexOutboundorderImportController.cls b/force-app/main/default/classes/LexOutboundorderImportController.cls
index af454e1..a305d02 100644
--- a/force-app/main/default/classes/LexOutboundorderImportController.cls
+++ b/force-app/main/default/classes/LexOutboundorderImportController.cls
@@ -1,1054 +1,918 @@
 public without sharing class LexOutboundorderImportController {
-  //缁忛攢鍟嗕骇鍝佸垎绫�
-  public static String agencyProType { get; set; }
-  private static String sqlagencyProType;
-  public static Blob csvFileBody { get; set; }
-  public static string csvAsString { get; set; }
-  public static String[] csvFileLines { get; set; }
-  public static List<ConsumableorderdetailsInfo> orderRecords { get; set; }
-  public static List<String[]> csvRecordStr { get; set; }
-  public static Map<String, String> hospitalconMap { get; set; }
-  public static Map<String, String> product2conMap { get; set; }
-  public static Map<String, String> hospitalSysMap { get; set; }
-  public static Map<String, String> secondAgencyMap { get; set; }
-  private static String accountid { get; set; }
-  private static String accountName { get; set; }
-  private static Integer messageCount;
-  public static boolean saveFLGbln { get; set; }
-  private static List<String> barcodeList { get; set; }
-  private static List<String> barcodePieceList { get; set; }
-  public static Map<String, Integer> barcodePieceMap { get; set; }
-  public static boolean errorflg { get; set; }
-  public static String errorMessage { get; set; }
-  private static String userWorkLocation { get; set; }
-  public static String errorMsg { get; set; }
+    //缁忛攢鍟嗕骇鍝佸垎绫�
+    public static String agencyProType { get; set; }
+    private static String sqlagencyProType;
+    public static Blob csvFileBody { get; set; }
+    public static string csvAsString { get; set; }
+    public static String[] csvFileLines { get; set; }
+    public static List<ConsumableorderdetailsInfo> orderRecords { get; set; }
+    public static List<String[]> csvRecordStr { get; set; }
+    public static Map<String, String> hospitalconMap { get; set; }
+    public static Map<String, String> product2conMap { get; set; }
+    public static Map<String, String> hospitalSysMap { get; set; }
+    public static Map<String, String> secondAgencyMap { get; set; }
+    private static String accountid { get; set; }
+    private static String accountName { get; set; }
+    private static Integer messageCount;
+    public static boolean saveFLGbln { get; set; }
+    private static List<String> barcodeList { get; set; }
+    private static List<String> barcodePieceList { get; set; }
+    public static Map<String, Integer> barcodePieceMap { get; set; }
+    public static boolean errorflg { get; set; }
+    public static String errorMessage { get; set; }
+    private static String userWorkLocation { get; set; }
+    public static String errorMsg { get; set; }
 
-  @AuraEnabled
-  public static ResponseBodyLWC init() {
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
-    messageCount = 0;
-    errorflg = false;
-    errorMessage = null;
-    User useracc = [
-      SELECT accountid, Work_Location__c, UserPro_Type__c
-      FROM user
-      WHERE id = :UserInfo.getUserId()
-    ];
-    accountid = Useracc.accountid;
-    userWorkLocation = Useracc.Work_Location__c;
-    agencyProType = Useracc.UserPro_Type__c;
-    if (String.isBlank(Useracc.UserPro_Type__c)) {
-      agencyProType = 'ET';
+    @AuraEnabled
+    public static ResponseBodyLWC init() {
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+        messageCount = 0;
+        errorflg = false;
+        errorMessage = null;
+        User useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+        accountid = Useracc.accountid;
+        userWorkLocation = Useracc.Work_Location__c;
+        agencyProType = Useracc.UserPro_Type__c;
+        if (String.isBlank(Useracc.UserPro_Type__c)) {
+            agencyProType = 'ET';
+        }
+        sqlagencyProType = '%' + agencyProType + '%';
+        Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
+        accountName = accountInfo.name;
+
+        data.put('accountid', accountid);
+        data.put('userWorkLocation', userWorkLocation);
+        data.put('agencyProType', agencyProType);
+        data.put('accountName', accountName);
+        data.put('sqlagencyProType', sqlagencyProType);
+        res.status = 'Success';
+        res.code = 200;
+        res.msg = '';
+        System.debug('res:' + res);
+        return res;
     }
-    sqlagencyProType = '%' + agencyProType + '%';
-    Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
-    accountName = accountInfo.name;
 
-    data.put('accountid', accountid);
-    data.put('userWorkLocation', userWorkLocation);
-    data.put('agencyProType', agencyProType);
-    data.put('accountName', accountName);
-    data.put('sqlagencyProType', sqlagencyProType);
-    res.status = 'Success';
-    res.code = 200;
-    res.msg = '';
-    System.debug('res:' + res);
-    return res;
-  }
+    @AuraEnabled
+    public static ResponseBodyLWC importCSVFile(
+        String base64DataLwc,
+        String sqlagencyProTypeLwc,
+        String userWorkLocationLwc,
+        String accountNameLwc
+    ) {
+        System.debug('enter importCSVFile');
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
 
-  @AuraEnabled
-  public static ResponseBodyLWC importCSVFile(
-    String base64DataLwc,
-    String sqlagencyProTypeLwc,
-    String userWorkLocationLwc,
-    String accountNameLwc
-  ) {
-    System.debug('enter importCSVFile');
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
+        errorMsg = '';
+        sqlagencyProType = sqlagencyProTypeLwc;
+        userWorkLocation = userWorkLocationLwc;
+        accountName = accountNameLwc;
+        String base64Data = EncodingUtil.urlDecode(base64DataLwc, 'UTF-8');
+        csvFileBody = EncodingUtil.base64Decode(base64Data);
+        product2conMap = new Map<String, String>();
 
-    errorMsg = '';
-    sqlagencyProType = sqlagencyProTypeLwc;
-    userWorkLocation = userWorkLocationLwc;
-    accountName = accountNameLwc;
-    String base64Data = EncodingUtil.urlDecode(base64DataLwc, 'UTF-8');
-    csvFileBody = EncodingUtil.base64Decode(base64Data);
-    product2conMap = new Map<String, String>();
-
-    messageCount = 0;
-    errormessage = null;
-    saveFLGbln = false;
-    csvRecordStr = new List<String[]>();
-    barcodeList = new List<String>();
-    barcodePieceMap = new Map<String, Integer>();
-    barcodePieceList = new List<String>();
-    orderRecords = new List<ConsumableorderdetailsInfo>();
-    hospitalconMap = new Map<String, String>();
-    if (csvFileBody == null) {
-      errorflg = true;
-      saveFLGbln = true;
-      // errormessage = '璇诲彇鍐呭涓虹┖銆�';
-      return new ResponseBodyLWC('Error', 500, '璇诲彇鍐呭涓虹┖銆�', '');
-    } else {
-      //浜у搧鏁版嵁鏌ユ壘
-      map<string, string> orderNameMap = new Map<string, string>();
-      try {
-        csvAsString = csvFileBody.toString();
-        csvFileLines = csvAsString.split('\n');
-        for (Integer i = 0; i < csvFileLines.size(); i++) {
-          string[] csvRecordData = csvFileLines[i].split(',');
-          if (String.isNotBlank(csvRecordData[6])) {
-            barcodeList.add(csvRecordData[6]);
-            if (String.valueOf(csvRecordData[9]) == '涓�') {
-              barcodePieceList.add(csvRecordData[6]);
-              barcodePieceMap.put(
-                csvRecordData[6],
-                Integer.valueOf(csvRecordData[7])
-              );
+        messageCount = 0;
+        errormessage = null;
+        saveFLGbln = false;
+        csvRecordStr = new List<String[]>();
+        barcodeList = new List<String>();
+        barcodePieceMap = new Map<String, Integer>();
+        barcodePieceList = new List<String>();
+        orderRecords = new List<ConsumableorderdetailsInfo>();
+        hospitalconMap = new Map<String, String>();
+        if (csvFileBody == null) {
+            errorflg = true;
+            saveFLGbln = true;
+            // errormessage = '璇诲彇鍐呭涓虹┖銆�';
+            return new ResponseBodyLWC('Error', 500, '璇诲彇鍐呭涓虹┖銆�', '');
+        } else {
+            //浜у搧鏁版嵁鏌ユ壘
+            map<string, string> orderNameMap = new Map<string, string>();
+            try {
+                csvAsString = csvFileBody.toString();
+                csvFileLines = csvAsString.split('\n');
+                for (Integer i = 0; i < csvFileLines.size(); i++) {
+                    string[] csvRecordData = csvFileLines[i].split(',');
+                    if (String.isNotBlank(csvRecordData[6])) {
+                        barcodeList.add(csvRecordData[6]);
+                        if (String.valueOf(csvRecordData[9]) == '涓�') {
+                            barcodePieceList.add(csvRecordData[6]);
+                            barcodePieceMap.put(csvRecordData[6], Integer.valueOf(csvRecordData[7]));
+                        }
+                    }
+                    String[] csvRecordDataStr = new String[13];
+                    for (Integer j = 0; j < csvRecordData.size(); j++) {
+                        csvRecordDataStr[j] = csvRecordData[j];
+                    }
+                    if (i == 0) {
+                        csvRecordDataStr[12] = '浜у搧';
+                    } else {
+                        csvRecordDataStr[12] = '';
+                    }
+                    csvRecordStr.add(csvRecordDataStr);
+                }
+                Map<String, String> productBarcodeMap = new Map<String, String>();
+                List<Consumable_order_details2__c> cOrderDet = [
+                    SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
+                    FROM Consumable_order_details2__c
+                    WHERE
+                        Dealer_Arrive__c = TRUE
+                        AND Dealer_Shipment__c = FALSE
+                        AND Dealer_Saled__c = FALSE
+                        AND Lose_Flag__c = FALSE
+                        AND Bar_Code__c IN :barcodeList
+                        AND Product_Type__c LIKE :sqlagencyProType
+                        AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                        AND Dealer_Info_text__c = :accountName
+                ];
+                for (Consumable_order_details2__c pdinfo : cOrderDet) {
+                    productBarcodeMap.put(pdinfo.Bar_Code__c, pdinfo.Consumable_Product__c);
+                }
+                for (String[] csvlistStr : csvRecordStr) {
+                    if (productBarcodeMap.containsKey(csvlistStr[6])) {
+                        csvlistStr[12] = productBarcodeMap.get(csvlistStr[6]);
+                    } else {
+                    }
+                }
+                //妫�绱㈠瓨鍦ㄦ媶鐩掍骇鍝佹暟閲�
+                Map<String, Integer> exitpieceBarcodeMap = new Map<String, Integer>();
+                AggregateResult[] pieceOrderDet = [
+                    SELECT count(Id) cnt, Bar_Code__c
+                    FROM Consumable_order_details2__c
+                    WHERE
+                        Dealer_Arrive__c = TRUE
+                        AND Dealer_Shipment__c = FALSE
+                        AND Dealer_Saled__c = FALSE
+                        AND Lose_Flag__c = FALSE
+                        AND Bar_Code__c IN :barcodePieceList
+                        AND Product_Type__c LIKE :sqlagencyProType
+                        AND Dealer_Info_text__c = :accountName
+                        AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                        AND Box_Piece__c = '涓�'
+                    GROUP BY Bar_Code__c
+                ];
+                for (AggregateResult ar : pieceOrderDet) {
+                    exitpieceBarcodeMap.put(String.valueOf(ar.get('Bar_Code__c')), Integer.valueOf(ar.get('cnt')));
+                }
+                for (String bc : barcodePieceList) {
+                    if (!exitpieceBarcodeMap.containsKey(bc)) {
+                        if (messageCount >= 100)
+                            break;
+                        // ApexPages.addmessage(
+                        //     new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�')
+                        // );
+                        errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�<br />';
+                        saveFLGbln = true;
+                        messageCount++;
+                    } else if (exitpieceBarcodeMap.containsKey(bc) && exitpieceBarcodeMap.get(bc) < barcodePieceMap.get(bc)) {
+                        if (messageCount >= 100)
+                            break;
+                        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�'));
+                        errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�<br />';
+                        saveFLGbln = true;
+                        messageCount++;
+                    }
+                }
+            } catch (Exception e) {
+                //ApexPages.addMessages(e);
+                errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+                //return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
             }
-          }
-          String[] csvRecordDataStr = new String[13];
-          for (Integer j = 0; j < csvRecordData.size(); j++) {
-            csvRecordDataStr[j] = csvRecordData[j];
-          }
-          if (i == 0) {
-            csvRecordDataStr[12] = '浜у搧';
-          } else {
-            csvRecordDataStr[12] = '';
-          }
-          csvRecordStr.add(csvRecordDataStr);
-        }
-        Map<String, String> productBarcodeMap = new Map<String, String>();
-        List<Consumable_order_details2__c> cOrderDet = [
-          SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
-          FROM Consumable_order_details2__c
-          WHERE
-            Dealer_Arrive__c = TRUE
-            AND Dealer_Shipment__c = FALSE
-            AND Dealer_Saled__c = FALSE
-            AND Lose_Flag__c = FALSE
-            AND Bar_Code__c IN :barcodeList
-            AND Product_Type__c LIKE :sqlagencyProType
-            AND Arrive_Owner_Work_Location__c = :userWorkLocation
-            AND Dealer_Info_text__c = :accountName
-        ];
-        for (Consumable_order_details2__c pdinfo : cOrderDet) {
-          productBarcodeMap.put(
-            pdinfo.Bar_Code__c,
-            pdinfo.Consumable_Product__c
-          );
-        }
-        for (String[] csvlistStr : csvRecordStr) {
-          if (productBarcodeMap.containsKey(csvlistStr[6])) {
-            csvlistStr[12] = productBarcodeMap.get(csvlistStr[6]);
-          } else {
-          }
-        }
-        //妫�绱㈠瓨鍦ㄦ媶鐩掍骇鍝佹暟閲�
-        Map<String, Integer> exitpieceBarcodeMap = new Map<String, Integer>();
-        AggregateResult[] pieceOrderDet = [
-          SELECT count(Id) cnt, Bar_Code__c
-          FROM Consumable_order_details2__c
-          WHERE
-            Dealer_Arrive__c = TRUE
-            AND Dealer_Shipment__c = FALSE
-            AND Dealer_Saled__c = FALSE
-            AND Lose_Flag__c = FALSE
-            AND Bar_Code__c IN :barcodePieceList
-            AND Product_Type__c LIKE :sqlagencyProType
-            AND Dealer_Info_text__c = :accountName
-            AND Arrive_Owner_Work_Location__c = :userWorkLocation
-            AND Box_Piece__c = '涓�'
-          GROUP BY Bar_Code__c
-        ];
-        for (AggregateResult ar : pieceOrderDet) {
-          exitpieceBarcodeMap.put(
-            String.valueOf(ar.get('Bar_Code__c')),
-            Integer.valueOf(ar.get('cnt'))
-          );
-        }
-        for (String bc : barcodePieceList) {
-          if (!exitpieceBarcodeMap.containsKey(bc)) {
-            if (messageCount >= 100)
-              break;
-            // ApexPages.addmessage(
-            //     new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�')
-            // );
-            errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�<br />';
-            saveFLGbln = true;
-            messageCount++;
-          } else if (
-            exitpieceBarcodeMap.containsKey(bc) &&
-            exitpieceBarcodeMap.get(bc) < barcodePieceMap.get(bc)
-          ) {
-            if (messageCount >= 100)
-              break;
-            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�'));
-            errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�<br />';
-            saveFLGbln = true;
-            messageCount++;
-          }
-        }
-      } catch (Exception e) {
-        //ApexPages.addMessages(e);
-        errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-        //return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
-      }
-      getorderinfo();
-      dataInfoconfim();
-      getorderdet2info(csvRecordStr);
-      if (saveFLGbln == false) {
-        getorderdetinfo(csvRecordStr);
-      }
-      data.put('orderRecords', orderRecords);
-      data.put('saveFLGbln', saveFLGbln);
-      data.put('csvRecordStr', csvRecordStr);
-      data.put('barcodeList', barcodeList);
-      data.put('secondAgencyMap', secondAgencyMap);
-      data.put('hospitalSysMap', hospitalSysMap);
-      res.status = 'Success';
-      res.code = 200;
-      res.msg = errorMsg;
-      return res;
-    }
-  }
-
-  public static void getorderinfo() {
-    map<string, string> orderNameMap = new Map<string, string>();
-    try {
-      csvAsString = csvFileBody.toString();
-      csvFileLines = csvAsString.split('\n');
-      for (Integer i = 1; i < csvFileLines.size(); i++) {
-        Consumable_order__c cocObj = new Consumable_order__c();
-        string[] csvRecordData = csvFileLines[i].split(',');
-        if (orderNameMap.containsKey(csvRecordData[0]))
-          continue;
-        cocObj.Name = csvRecordData[0];
-        if (String.isNotBlank(csvRecordData[1])) {
-          cocObj.SummonsForDirction__c = csvRecordData[1];
-        } else {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            csvRecordData[0] +
-            '鍑鸿揣鐩殑涓虹┖锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        }
-        cocObj.Order_Attachment__c = csvRecordData[2];
-        cocObj.Order_Indication__c = csvRecordData[3];
-        cocObj.Order_ForCustomerText__c = csvRecordData[4];
-        cocObj.Invoice_Note__c = csvRecordData[5];
-        if (String.isBlank(csvRecordData[11])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cocObj.Name +
-            '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else {
-          cocObj.Outbound_Date__c = Date.parse(csvRecordData[11].trim());
-        }
-        if (String.isNotEmpty(csvRecordData[2])) {
-          hospitalconMap.put(csvRecordData[2].trim(), csvRecordData[0].trim());
-        }
-        orderNameMap.put(csvRecordData[0], csvRecordData[0]);
-        orderRecords.add(new ConsumableorderdetailsInfo(cocObj));
-      }
-    } catch (Exception e) {
-      //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
-      errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-    }
-  }
-
-  public static void dataInfoconfim() {
-    //纭鍖婚櫌淇℃伅
-    hospitalSysMap = new Map<String, String>();
-    secondAgencyMap = new Map<String, String>();
-    for (ConsumableorderdetailsInfo ass : orderRecords) {
-      if (
-        (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
-        ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌' ||
-        ass.order.SummonsForDirction__c == '鍖婚櫌璇曠敤') &&
-        (String.isBlank(ass.hospitalName) ||
-        String.isBlank(ass.hospitalCode) ||
-        String.isBlank(ass.order.Order_ForCustomerText__c))
-      ) {
-        if (messageCount >= 100)
-          break;
-        // ApexPages.addmessage(
-        //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��')
-        // );
-        errorMsg +=
-          '鍑哄簱鍗�' +
-          ass.order.Name +
-          '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��<br />';
-        messageCount++;
-        saveFLGbln = true;
-        //return null;
-      }
-      if (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
-        if (String.isBlank(ass.agencyName)) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗�' +
-            ass.order.Name +
-            '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
-          messageCount++;
-          saveFLGbln = true;
-        }
-      }
-      if (ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
-        if (String.isNotBlank(ass.agencyName)) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗�' +
-            ass.order.Name +
-            '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��<br />';
-          messageCount++;
-          saveFLGbln = true;
-        }
-      }
-      if (ass.order.SummonsForDirction__c == '浜掔浉璋冭揣') {
-        if (String.isBlank(ass.agencyName)) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗�' +
-            ass.order.Name +
-            '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
-          messageCount++;
-          saveFLGbln = true;
-        }
-        if (
-          String.isNotBlank(ass.hospitalName) ||
-          String.isNotBlank(ass.hospitalCode) ||
-          String.isNotBlank(ass.order.Order_ForCustomerText__c)
-        ) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗�' +
-            ass.order.Name +
-            '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��<br />';
-          messageCount++;
-          saveFLGbln = true;
-        }
-      }
-    }
-    System.debug('accountName = ' + accountName);
-    List<Agency_Hospital_Link__c> hospitalInfo = [
-      SELECT Hospital__c, Hospital__r.Management_Code__c, Hospital__r.Name
-      FROM Agency_Hospital_Link__c
-      WHERE Agency__r.Name = :accountName
-    ];
-    List<Dealer_elationship__c> secondAgencyInfo = [
-      SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
-      FROM Dealer_elationship__c
-      WHERE Dealer_principal__r.Name = :accountName
-    ];
-    for (Agency_Hospital_Link__c hpinfo : hospitalInfo) {
-      hospitalSysMap.put(
-        hpinfo.Hospital__r.Management_Code__c,
-        hpinfo.Hospital__c
-      );
-    }
-    for (Dealer_elationship__c safo : secondAgencyInfo) {
-      secondAgencyMap.put(
-        safo.Dealer_subordinate__r.Name,
-        safo.Dealer_subordinate__c
-      );
-    }
-    //鍑哄簱鍗曚俊鎭獙璇�
-    System.debug('hospitalconMap = ' + hospitalconMap);
-    System.debug('hospitalSysMap = ' + hospitalSysMap);
-    for (String widget : hospitalconMap.keySet()) {
-      if (!hospitalSysMap.containsKey(widget)) {
-        if (messageCount >= 100)
-          break;
-        // ApexPages.addmessage(
-        //     new ApexPages.message(
-        //         ApexPages.severity.ERROR,
-        //         '鍑哄簱鍗� ' +
-        //         hospitalconMap.get(widget) +
-        //         ' 鐨勫尰闄㈢紪鐮�' +
-        //         widget +
-        //         ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�'
-        //     )
-        // );
-        errorMsg +=
-          '鍑哄簱鍗� ' +
-          hospitalconMap.get(widget) +
-          ' 鐨勫尰闄㈢紪鐮�' +
-          widget +
-          ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�<br />';
-        saveFLGbln = true;
-      }
-    }
-  }
-
-  public static void getorderdet2info(List<String[]> csvRecordStr) {
-    barcodeList = new List<String>();
-    try {
-      for (Integer i = 1; i < csvRecordStr.size(); i++) {
-        Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
-        string[] csvRecordData = csvRecordStr[i];
-        cod2Obj.TracingCode__c = csvRecordData[0];
-        cod2Obj.Bar_Code__c = csvRecordData[6];
-        if (String.isNotBlank(csvRecordData[6])) {
-          barcodeList.add(csvRecordData[6]);
-        }
-        if (String.isBlank(csvRecordData[9])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         cod2Obj.TracingCode__c +
-          //         '鐨刡arcode ' +
-          //         cod2Obj.Bar_Code__c +
-          //         ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '鐨刡arcode ' +
-            cod2Obj.Bar_Code__c +
-            ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else if (
-          String.valueOf(csvRecordData[9]) != '鐩�' &&
-          String.valueOf(csvRecordData[9]) != '涓�'
-        ) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         cod2Obj.TracingCode__c +
-          //         '鐨刡arcode ' +
-          //         cod2Obj.Bar_Code__c +
-          //         ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '鐨刡arcode ' +
-            cod2Obj.Bar_Code__c +
-            ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��';
-          saveFLGbln = true;
-          messageCount++;
-        } else {
-          cod2Obj.Box_Piece__c = csvRecordData[9];
-        }
-        if (String.isBlank(csvRecordData[8])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else if (String.isNotBlank(csvRecordData[8])) {
-          if (
-            Decimal.valueOf(csvRecordData[8]) == 0 &&
-            (String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌' ||
-            String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�')
-          ) {
-            if (messageCount >= 100)
-              break;
-            // ApexPages.addmessage(
-            //     new ApexPages.message(
-            //         ApexPages.severity.ERROR,
-            //         '鍑哄簱鍗� ' +
-            //         cod2Obj.TracingCode__c +
-            //         '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�'
-            //     )
-            // );
-            errorMsg +=
-              '鍑哄簱鍗� ' +
-              cod2Obj.TracingCode__c +
-              '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�<br />';
-            saveFLGbln = true;
-            messageCount++;
-          } else {
-            cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
-          }
-        }
-        if (String.isBlank(csvRecordData[6])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         cod2Obj.TracingCode__c +
-          //         '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else if (String.isBlank(csvRecordData[12])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         cod2Obj.TracingCode__c +
-          //         '鐨刡arcode ' +
-          //         cod2Obj.Bar_Code__c +
-          //         ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '鐨刡arcode ' +
-            cod2Obj.Bar_Code__c +
-            ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�';
-          saveFLGbln = true;
-          messageCount++;
-        }
-        cod2Obj.Return_reason__c = csvRecordData[12];
-        if (String.isBlank(csvRecordData[11])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         cod2Obj.TracingCode__c +
-          //         '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            cod2Obj.TracingCode__c +
-            '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��';
-          saveFLGbln = true;
-          messageCount++;
-        } else {
-          cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
-        }
-      }
-    } catch (Exception e) {
-      //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
-      errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-    }
-  }
-
-  public static void getorderdetinfo(List<String[]> csvRecordStr) {
-    map<string, string> orderdetMap = new Map<string, string>();
-    try {
-      for (Integer i = 1; i < csvRecordStr.size(); i++) {
-        Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
-        string[] csvRecordData = csvRecordStr[i];
-        if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12]))
-          continue;
-        codObj.Remarks__c = csvRecordData[0];
-        if (String.isBlank(csvRecordData[7])) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            csvRecordData[0] +
-            '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else if (
-          Decimal.valueOf(csvRecordData[7]) > 1 &&
-          String.valueOf(csvRecordData[9]) == '鐩�'
-        ) {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(
-          //         ApexPages.severity.ERROR,
-          //         '鍑哄簱鍗� ' +
-          //         csvRecordData[0] +
-          //         '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�'
-          //     )
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            csvRecordData[0] +
-            '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        } else {
-          codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
-        }
-        codObj.Box_Piece__c = csvRecordData[9];
-        if (String.isNotBlank(csvRecordData[8])) {
-          codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
-        } else {
-          if (messageCount >= 100)
-            break;
-          // ApexPages.addmessage(
-          //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
-          // );
-          errorMsg +=
-            '鍑哄簱鍗� ' +
-            csvRecordData[0] +
-            '鍑哄簱鍗� ' +
-            csvRecordData[0] +
-            '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
-          saveFLGbln = true;
-          messageCount++;
-        }
-        //if(String.isNotBlank(csvRecordData[10])){
-        // codObj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
-        //}
-        codObj.Lose_reason__c = csvRecordData[12];
-        codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
-        product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
-        orderdetMap.put(
-          csvRecordData[0] + csvRecordData[12],
-          csvRecordData[0] + csvRecordData[12]
-        );
-        //orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
-      }
-    } catch (Exception e) {
-      //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
-      errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-    }
-  }
-
-  @AuraEnabled
-  public static ResponseBodyLWC dataImport(
-    List<String[]> csvRecordStrLwc,
-    String orderRecordsLwc,
-    String sqlagencyProTypeLwc,
-    String userWorkLocationLwc,
-    String accountNameLwc,
-    String accountidLwc,
-    String agencyProTypeLwc,
-    Map<String, String> secondAgencyMapLwc,
-    Map<String, String> hospitalSysMapLwc
-  ) {
-    List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
-    List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
-    List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
-    product2conMap = new Map<String, String>();
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
-
-    csvRecordStr = csvRecordStrLwc;
-    orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
-      orderRecordsLwc,
-      List<ConsumableorderdetailsInfo>.class
-    );
-    System.debug('orderRecords = ' + orderRecords);
-    sqlagencyProType = sqlagencyProTypeLwc;
-    userWorkLocation = userWorkLocationLwc;
-    accountName = accountNameLwc;
-    secondAgencyMap = secondAgencyMapLwc;
-    hospitalSysMap = hospitalSysMapLwc;
-    accountid = accountidLwc;
-    agencyProType = agencyProTypeLwc;
-    System.debug('agencyProType = ' + agencyProType);
-
-    errorMsg = '';
-    System.debug('csvRecordStr = ' + csvRecordStr);
-    orderdetRecords = getorderdetList(csvRecordStr);
-    orderdet2BoxRecords = getorderdet2BoxList(csvRecordStr);
-    orderdet2PieceRecords = getorderdet2pieceList(csvRecordStr);
-    System.debug('orderdetRecords = ' + orderdetRecords);
-    System.debug('orderdet2BoxRecords = ' + orderdet2BoxRecords);
-    System.debug('orderdet2PieceRecords = ' + orderdet2PieceRecords);
-    Savepoint sp = Database.setSavepoint();
-    try {
-      Map<String, String> orderInfoMap = new Map<String, String>();
-      List<Consumable_order__c> coc = new List<Consumable_order__c>();
-      for (ConsumableorderdetailsInfo ass : orderRecords) {
-        ass.order.Order_type__c = '浼犵エ';
-        ass.order.SummonsStatus_c__c = '宸插畬鎴�';
-        ass.order.Order_ProType__c = agencyProType;
-        ass.order.Dealer_Info__c = accountid;
-        ass.order.Order_ForHospital__c = hospitalSysMap.get(ass.hospitalCode);
-        if (secondAgencyMap.containsKey(ass.agencyName)) {
-          ass.order.Order_ForDealer__c = secondAgencyMap.get(ass.agencyName);
-        } else {
-          ass.order.Order_ForDealerText__c = ass.agencyName;
-        }
-        ass.order.RecordTypeId = System.Label.RT_ConOrder_Sale;
-        coc.add(ass.order);
-      }
-      System.debug('coc = ' + coc);
-      if (coc.size() > 0) {
-        insert coc;
-      }
-      for (Consumable_order__c order : coc) {
-        orderInfoMap.put(order.Name, order.Id);
-      }
-      List<Consumable_Orderdetails__c> cod = new List<Consumable_Orderdetails__c>();
-      for (String field : orderInfoMap.keySet()) {
-        Integer i = 1;
-        for (ConsumableorderdetailsInfo ass : orderdetRecords) {
-          if (ass.orderName == field) {
-            String str = string.valueOf(i);
-            if (str.length() == 1) {
-              str = '0' + str;
+            getorderinfo();
+            dataInfoconfim();
+            getorderdet2info(csvRecordStr);
+            if (saveFLGbln == false) {
+                getorderdetinfo(csvRecordStr);
             }
-            ass.orderdetails1.Name = ass.orderName + '-' + str;
-            ass.orderdetails1.Consumable_order__c = orderInfoMap.get(
-              ass.orderName
-            );
-            ass.orderdetails1.Consumable_Product__c = ass.productName;
-            ass.orderdetails1.RecordTypeId = System.Label.RT_ConOrderDetail1_Sale;
-            cod.add(ass.orderdetails1);
-            i++;
-          }
+            data.put('orderRecords', orderRecords);
+            data.put('saveFLGbln', saveFLGbln);
+            data.put('csvRecordStr', csvRecordStr);
+            data.put('barcodeList', barcodeList);
+            data.put('secondAgencyMap', secondAgencyMap);
+            data.put('hospitalSysMap', hospitalSysMap);
+            res.status = 'Success';
+            res.code = 200;
+            res.msg = errorMsg;
+            return res;
         }
-      }
-      System.debug('cod = ' + cod);
-      if (cod.size() > 0) {
-        insert cod;
-      }
-      //鐩掔殑鏁版嵁妫�绱�
-      List<Consumable_Order_details2__c> cod2List = new List<Consumable_Order_details2__c>();
-      List<Consumable_order_details2__c> cOrderDet = [
-        SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
-        FROM Consumable_order_details2__c
-        WHERE
-          Dealer_Arrive__c = TRUE
-          AND Dealer_Shipment__c = FALSE
-          AND Dealer_Saled__c = FALSE
-          AND Lose_Flag__c = FALSE
-          AND Bar_Code__c IN :barcodeList
-          AND Product_Type__c LIKE :sqlagencyProType
-          AND Dealer_Info_text__c = :accountName
-          AND Arrive_Owner_Work_Location__c = :userWorkLocation
-          AND Box_Piece__c = '鐩�'
-      ];
-      for (ConsumableorderdetailsInfo ass : orderdet2BoxRecords) {
-        Integer idx = 0;
-        for (Consumable_order_details2__c codtest : cOrderDet) {
-          Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
-          if (codtest.Bar_Code__c == ass.orderdetails2.Bar_Code__c) {
-            cod2 = codtest;
-            cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
-            cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
-            cod2.Used_date__c = ass.orderdetails2.Used_date__c;
-            cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
-            //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
-            cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
-            cod2List.add(cod2);
-            cOrderDet.remove(idx);
-            break;
-          }
-          idx++;
-        }
-      }
+    }
 
-      //涓殑鏁版嵁妫�绱�
-      List<Consumable_order_details2__c> cOrderDetPiece = [
-        SELECT
-          Id,
-          Bar_Code__c,
-          RemoveBox_No__c,
-          Name,
-          Consumable_Product__c,
-          Box_Piece__c
-        FROM Consumable_order_details2__c
-        WHERE
-          Dealer_Arrive__c = TRUE
-          AND Dealer_Shipment__c = FALSE
-          AND Dealer_Saled__c = FALSE
-          AND Lose_Flag__c = FALSE
-          AND Arrive_Owner_Work_Location__c = :userWorkLocation
-          AND Bar_Code__c IN :barcodePieceList
-          AND Product_Type__c LIKE :sqlagencyProType
-          AND Dealer_Info_text__c = :accountName
-          AND Box_Piece__c = '涓�'
-        ORDER BY Bar_Code__c, RemoveBox_No__c DESC
-      ];
-      for (ConsumableorderdetailsInfo ass : orderdet2PieceRecords) {
-        Decimal idy = 1;
-        for (Integer idx = 0; idx < cOrderDetPiece.size(); idx++) {
-          Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
-          if (
-            cOrderDetPiece[idx].Bar_Code__c == ass.orderdetails2.Bar_Code__c &&
-            idy <= ass.pieceCount
-          ) {
-            cod2 = cOrderDetPiece[idx].Clone();
-            cod2.Id = cOrderDetPiece[idx].Id;
-            cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
-            cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
-            cod2.Used_date__c = ass.orderdetails2.Used_date__c;
-            cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
-            //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
-            cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
-            cod2List.add(cod2);
-            cOrderDetPiece[idx].Bar_Code__c = '';
-            idy++;
-            //break;
-          }
+    public static void getorderinfo() {
+        map<string, string> orderNameMap = new Map<string, string>();
+        try {
+            csvAsString = csvFileBody.toString();
+            csvFileLines = csvAsString.split('\n');
+            for (Integer i = 1; i < csvFileLines.size(); i++) {
+                Consumable_order__c cocObj = new Consumable_order__c();
+                string[] csvRecordData = csvFileLines[i].split(',');
+                if (orderNameMap.containsKey(csvRecordData[0]))
+                    continue;
+                cocObj.Name = csvRecordData[0];
+                if (String.isNotBlank(csvRecordData[1])) {
+                    cocObj.SummonsForDirction__c = csvRecordData[1];
+                } else {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                }
+                cocObj.Order_Attachment__c = csvRecordData[2];
+                cocObj.Order_Indication__c = csvRecordData[3];
+                cocObj.Order_ForCustomerText__c = csvRecordData[4];
+                cocObj.Invoice_Note__c = csvRecordData[5];
+                if (String.isBlank(csvRecordData[11])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��')
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else {
+                    cocObj.Outbound_Date__c = Date.parse(csvRecordData[11].trim());
+                }
+                if (String.isNotEmpty(csvRecordData[2])) {
+                    hospitalconMap.put(csvRecordData[2].trim(), csvRecordData[0].trim());
+                }
+                orderNameMap.put(csvRecordData[0], csvRecordData[0]);
+                orderRecords.add(new ConsumableorderdetailsInfo(cocObj));
+            }
+        } catch (Exception e) {
+            //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+            errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
         }
-      }
-      if (cod2List.size() > 0) {
-        update cod2List;
-      }
-      errorflg = true;
-      //errorMessage = '淇濆瓨瀹屾垚銆�';
-      saveFLGbln = true;
+    }
 
-      res.status = 'Success';
-      res.code = 200;
-      res.msg = errorMsg;
-      return res;
-    } catch (Exception e) {
-      Database.rollback(sp);
-      // ApexPages.addMessages(e);
-      // return null;
-      return new ResponseBodyLWC(
-        'Error',
-        500,
-        e.getMessage() + e.getStackTraceString(),
-        ''
-      );
+    public static void dataInfoconfim() {
+        //纭鍖婚櫌淇℃伅
+        hospitalSysMap = new Map<String, String>();
+        secondAgencyMap = new Map<String, String>();
+        for (ConsumableorderdetailsInfo ass : orderRecords) {
+            if (
+                (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
+                ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌' ||
+                ass.order.SummonsForDirction__c == '鍖婚櫌璇曠敤') &&
+                (String.isBlank(ass.hospitalName) ||
+                String.isBlank(ass.hospitalCode) ||
+                String.isBlank(ass.order.Order_ForCustomerText__c))
+            ) {
+                if (messageCount >= 100)
+                    break;
+                // ApexPages.addmessage(
+                //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��')
+                // );
+                errorMsg += '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��<br />';
+                messageCount++;
+                saveFLGbln = true;
+                //return null;
+            }
+            if (ass.order.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
+                if (String.isBlank(ass.agencyName)) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
+                    messageCount++;
+                    saveFLGbln = true;
+                }
+            }
+            if (ass.order.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
+                if (String.isNotBlank(ass.agencyName)) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��')
+                    // );
+                    errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��<br />';
+                    messageCount++;
+                    saveFLGbln = true;
+                }
+            }
+            if (ass.order.SummonsForDirction__c == '浜掔浉璋冭揣') {
+                if (String.isBlank(ass.agencyName)) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
+                    messageCount++;
+                    saveFLGbln = true;
+                }
+                if (
+                    String.isNotBlank(ass.hospitalName) ||
+                    String.isNotBlank(ass.hospitalCode) ||
+                    String.isNotBlank(ass.order.Order_ForCustomerText__c)
+                ) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��')
+                    // );
+                    errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��<br />';
+                    messageCount++;
+                    saveFLGbln = true;
+                }
+            }
+        }
+        System.debug('accountName = ' + accountName);
+        List<Agency_Hospital_Link__c> hospitalInfo = [
+            SELECT Hospital__c, Hospital__r.Management_Code__c, Hospital__r.Name
+            FROM Agency_Hospital_Link__c
+            WHERE Agency__r.Name = :accountName
+        ];
+        List<Dealer_elationship__c> secondAgencyInfo = [
+            SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
+            FROM Dealer_elationship__c
+            WHERE Dealer_principal__r.Name = :accountName
+        ];
+        for (Agency_Hospital_Link__c hpinfo : hospitalInfo) {
+            hospitalSysMap.put(hpinfo.Hospital__r.Management_Code__c, hpinfo.Hospital__c);
+        }
+        for (Dealer_elationship__c safo : secondAgencyInfo) {
+            secondAgencyMap.put(safo.Dealer_subordinate__r.Name, safo.Dealer_subordinate__c);
+        }
+        //鍑哄簱鍗曚俊鎭獙璇�
+        System.debug('hospitalconMap = ' + hospitalconMap);
+        System.debug('hospitalSysMap = ' + hospitalSysMap);
+        for (String widget : hospitalconMap.keySet()) {
+            if (!hospitalSysMap.containsKey(widget)) {
+                if (messageCount >= 100)
+                    break;
+                // ApexPages.addmessage(
+                //     new ApexPages.message(
+                //         ApexPages.severity.ERROR,
+                //         '鍑哄簱鍗� ' +
+                //         hospitalconMap.get(widget) +
+                //         ' 鐨勫尰闄㈢紪鐮�' +
+                //         widget +
+                //         ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�'
+                //     )
+                // );
+                errorMsg +=
+                    '鍑哄簱鍗� ' +
+                    hospitalconMap.get(widget) +
+                    ' 鐨勫尰闄㈢紪鐮�' +
+                    widget +
+                    ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�<br />';
+                saveFLGbln = true;
+            }
+        }
     }
-  }
 
-  public static List<ConsumableorderdetailsInfo> getorderdetList(
-    List<String[]> csvRecordStr
-  ) {
-    List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
-    map<string, Decimal> orderdetMap = new Map<string, Decimal>();
-    try {
-      for (Integer i = 1; i < csvRecordStr.size(); i++) {
-        Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
-        string[] csvRecordData = csvRecordStr[i];
-        if (
-          orderdetMap.containsKey(
-            csvRecordData[0] + csvRecordData[12] + csvRecordData[9]
-          )
-        ) {
-          orderdetMap.put(
-            csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
-            orderdetMap.get(
-              csvRecordData[0] + csvRecordData[12] + csvRecordData[9]
-            ) + Decimal.valueOf(csvRecordData[7])
-          );
-          continue;
-        } else {
-          orderdetMap.put(
-            csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
-            Decimal.valueOf(csvRecordData[7])
-          );
+    public static void getorderdet2info(List<String[]> csvRecordStr) {
+        barcodeList = new List<String>();
+        try {
+            for (Integer i = 1; i < csvRecordStr.size(); i++) {
+                Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+                string[] csvRecordData = csvRecordStr[i];
+                cod2Obj.TracingCode__c = csvRecordData[0];
+                cod2Obj.Bar_Code__c = csvRecordData[6];
+                if (String.isNotBlank(csvRecordData[6])) {
+                    barcodeList.add(csvRecordData[6]);
+                }
+                if (String.isBlank(csvRecordData[9])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         cod2Obj.TracingCode__c +
+                    //         '鐨刡arcode ' +
+                    //         cod2Obj.Bar_Code__c +
+                    //         ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else if (String.valueOf(csvRecordData[9]) != '鐩�' && String.valueOf(csvRecordData[9]) != '涓�') {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         cod2Obj.TracingCode__c +
+                    //         '鐨刡arcode ' +
+                    //         cod2Obj.Bar_Code__c +
+                    //         ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 鍑哄簱鍗曚綅涓嶆纭紝璇风‘璁ゃ��';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else {
+                    cod2Obj.Box_Piece__c = csvRecordData[9];
+                }
+                if (String.isBlank(csvRecordData[8])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else if (String.isNotBlank(csvRecordData[8])) {
+                    if (
+                        Decimal.valueOf(csvRecordData[8]) == 0 &&
+                        (String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌' ||
+                        String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�')
+                    ) {
+                        if (messageCount >= 100)
+                            break;
+                        // ApexPages.addmessage(
+                        //     new ApexPages.message(
+                        //         ApexPages.severity.ERROR,
+                        //         '鍑哄簱鍗� ' +
+                        //         cod2Obj.TracingCode__c +
+                        //         '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�'
+                        //     )
+                        // );
+                        errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�<br />';
+                        saveFLGbln = true;
+                        messageCount++;
+                    } else {
+                        cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+                    }
+                }
+                if (String.isBlank(csvRecordData[6])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         cod2Obj.TracingCode__c +
+                    //         '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else if (String.isBlank(csvRecordData[12])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         cod2Obj.TracingCode__c +
+                    //         '鐨刡arcode ' +
+                    //         cod2Obj.Bar_Code__c +
+                    //         ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄦ垨涓嶆槸鍦ㄥ簱浜у搧锛岃纭銆�';
+                    saveFLGbln = true;
+                    messageCount++;
+                }
+                cod2Obj.Return_reason__c = csvRecordData[12];
+                if (String.isBlank(csvRecordData[11])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         cod2Obj.TracingCode__c +
+                    //         '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else {
+                    cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+                }
+            }
+        } catch (Exception e) {
+            //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+            errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
         }
-        codObj.Remarks__c = csvRecordData[0];
-        codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
-        codObj.Box_Piece__c = csvRecordData[9];
-        if (String.isNotBlank(csvRecordData[8])) {
-          codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
-        }
-        codObj.Lose_reason__c = csvRecordData[12];
-        if (String.isNotBlank(csvRecordData[11])) {
-          codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
-        }
-        product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
-        orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
-      }
-      for (ConsumableorderdetailsInfo ass : orderdetRecords) {
-        if (
-          orderdetMap.containsKey(
-            ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c
-          )
-        ) {
-          ass.orderdetails1.Shipment_Count__c = orderdetMap.get(
-            ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c
-          );
-        }
-      }
-      System.debug('orderdetRecords = ' + orderdetRecords);
-      return orderdetRecords;
-    } catch (Exception e) {
-      // ApexPages.addMessages(e);
-      // return null;
-      errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-      System.debug('orderdetRecords = null ' + e.getLineNumber());
-      return null;
     }
-  }
 
-  public static List<ConsumableorderdetailsInfo> getorderdet2BoxList(
-    List<String[]> csvRecordStr
-  ) {
-    barcodeList = new List<String>();
-    List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
-    try {
-      for (Integer i = 1; i < csvRecordStr.size(); i++) {
-        string[] csvRecordData = csvRecordStr[i];
-        if (String.valueOf(csvRecordData[9]) == '鐩�') {
-          Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
-          cod2Obj.TracingCode__c = csvRecordData[0];
-          cod2Obj.Bar_Code__c = csvRecordData[6];
-          if (String.isNotBlank(csvRecordData[6])) {
-            barcodeList.add(csvRecordData[6]);
-          }
-          cod2Obj.Box_Piece__c = csvRecordData[9];
-          if (String.isNotBlank(csvRecordData[8])) {
-            cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
-          }
-          //if(String.isNotBlank(csvRecordData[10])){
-          //  cod2Obj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
-          //}
-          cod2Obj.Return_reason__c = csvRecordData[12];
-          if (
-            String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
-            String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌'
-          ) {
-            cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
-          } else {
-            cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
-          }
-          orderdet2BoxRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+    public static void getorderdetinfo(List<String[]> csvRecordStr) {
+        map<string, string> orderdetMap = new Map<string, string>();
+        try {
+            for (Integer i = 1; i < csvRecordStr.size(); i++) {
+                Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
+                string[] csvRecordData = csvRecordStr[i];
+                if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12]))
+                    continue;
+                codObj.Remarks__c = csvRecordData[0];
+                if (String.isBlank(csvRecordData[7])) {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else if (Decimal.valueOf(csvRecordData[7]) > 1 && String.valueOf(csvRecordData[9]) == '鐩�') {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.ERROR,
+                    //         '鍑哄簱鍗� ' +
+                    //         csvRecordData[0] +
+                    //         '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�'
+                    //     )
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                } else {
+                    codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
+                }
+                codObj.Box_Piece__c = csvRecordData[9];
+                if (String.isNotBlank(csvRecordData[8])) {
+                    codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+                } else {
+                    if (messageCount >= 100)
+                        break;
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
+                    // );
+                    errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
+                    saveFLGbln = true;
+                    messageCount++;
+                }
+                //if(String.isNotBlank(csvRecordData[10])){
+                // codObj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
+                //}
+                codObj.Lose_reason__c = csvRecordData[12];
+                codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
+                product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
+                orderdetMap.put(csvRecordData[0] + csvRecordData[12], csvRecordData[0] + csvRecordData[12]);
+                //orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
+            }
+        } catch (Exception e) {
+            //return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+            errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
         }
-      }
-      return orderdet2BoxRecords;
-    } catch (Exception e) {
-      // ApexPages.addMessages(e);
-      // return null;
-      errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-      return null;
     }
-  }
 
-  public static List<ConsumableorderdetailsInfo> getorderdet2pieceList(
-    List<String[]> csvRecordStr
-  ) {
-    barcodePieceList = new List<String>();
-    List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
-    try {
-      for (Integer i = 1; i < csvRecordStr.size(); i++) {
-        string[] csvRecordData = csvRecordStr[i];
-        if (String.valueOf(csvRecordData[9]) == '涓�') {
-          Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
-          cod2Obj.TracingCode__c = csvRecordData[0];
-          cod2Obj.Bar_Code__c = csvRecordData[6];
-          if (String.isNotBlank(csvRecordData[6])) {
-            barcodePieceList.add(csvRecordData[6]);
-          }
-          cod2Obj.Box_Piece__c = csvRecordData[9];
-          if (String.isNotBlank(csvRecordData[8])) {
-            cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
-          }
-          cod2Obj.Return_reason__c = csvRecordData[12];
-          if (
-            String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
-            String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌'
-          ) {
-            cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
-          } else {
-            cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
-          }
-          cod2Obj.Rrturn_count__c = Decimal.valueOf(csvRecordData[7]);
-          orderdet2PieceRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+    @AuraEnabled
+    public static ResponseBodyLWC dataImport(
+        List<String[]> csvRecordStrLwc,
+        String orderRecordsLwc,
+        String sqlagencyProTypeLwc,
+        String userWorkLocationLwc,
+        String accountNameLwc,
+        String accountidLwc,
+        String agencyProTypeLwc,
+        Map<String, String> secondAgencyMapLwc,
+        Map<String, String> hospitalSysMapLwc
+    ) {
+        List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
+        List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
+        List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
+        product2conMap = new Map<String, String>();
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+
+        csvRecordStr = csvRecordStrLwc;
+        orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class);
+        System.debug('orderRecords = ' + orderRecords);
+        sqlagencyProType = sqlagencyProTypeLwc;
+        userWorkLocation = userWorkLocationLwc;
+        accountName = accountNameLwc;
+        secondAgencyMap = secondAgencyMapLwc;
+        hospitalSysMap = hospitalSysMapLwc;
+        accountid = accountidLwc;
+        agencyProType = agencyProTypeLwc;
+        System.debug('agencyProType = ' + agencyProType);
+
+        errorMsg = '';
+        System.debug('csvRecordStr = ' + csvRecordStr);
+        orderdetRecords = getorderdetList(csvRecordStr);
+        orderdet2BoxRecords = getorderdet2BoxList(csvRecordStr);
+        orderdet2PieceRecords = getorderdet2pieceList(csvRecordStr);
+        System.debug('orderdetRecords = ' + orderdetRecords);
+        System.debug('orderdet2BoxRecords = ' + orderdet2BoxRecords);
+        System.debug('orderdet2PieceRecords = ' + orderdet2PieceRecords);
+        Savepoint sp = Database.setSavepoint();
+        try {
+            Map<String, String> orderInfoMap = new Map<String, String>();
+            List<Consumable_order__c> coc = new List<Consumable_order__c>();
+            for (ConsumableorderdetailsInfo ass : orderRecords) {
+                ass.order.Order_type__c = '浼犵エ';
+                ass.order.SummonsStatus_c__c = '宸插畬鎴�';
+                ass.order.Order_ProType__c = agencyProType;
+                ass.order.Dealer_Info__c = accountid;
+                ass.order.Order_ForHospital__c = hospitalSysMap.get(ass.hospitalCode);
+                if (secondAgencyMap.containsKey(ass.agencyName)) {
+                    ass.order.Order_ForDealer__c = secondAgencyMap.get(ass.agencyName);
+                } else {
+                    ass.order.Order_ForDealerText__c = ass.agencyName;
+                }
+                ass.order.RecordTypeId = System.Label.RT_ConOrder_Sale;
+                coc.add(ass.order);
+            }
+            System.debug('coc = ' + coc);
+            if (coc.size() > 0) {
+                insert coc;
+            }
+            for (Consumable_order__c order : coc) {
+                orderInfoMap.put(order.Name, order.Id);
+            }
+            List<Consumable_Orderdetails__c> cod = new List<Consumable_Orderdetails__c>();
+            for (String field : orderInfoMap.keySet()) {
+                Integer i = 1;
+                for (ConsumableorderdetailsInfo ass : orderdetRecords) {
+                    if (ass.orderName == field) {
+                        String str = string.valueOf(i);
+                        if (str.length() == 1) {
+                            str = '0' + str;
+                        }
+                        ass.orderdetails1.Name = ass.orderName + '-' + str;
+                        ass.orderdetails1.Consumable_order__c = orderInfoMap.get(ass.orderName);
+                        ass.orderdetails1.Consumable_Product__c = ass.productName;
+                        ass.orderdetails1.RecordTypeId = System.Label.RT_ConOrderDetail1_Sale;
+                        cod.add(ass.orderdetails1);
+                        i++;
+                    }
+                }
+            }
+            System.debug('cod = ' + cod);
+            if (cod.size() > 0) {
+                insert cod;
+            }
+            //鐩掔殑鏁版嵁妫�绱�
+            List<Consumable_Order_details2__c> cod2List = new List<Consumable_Order_details2__c>();
+            List<Consumable_order_details2__c> cOrderDet = [
+                SELECT Id, Bar_Code__c, Name, Consumable_Product__c, Box_Piece__c
+                FROM Consumable_order_details2__c
+                WHERE
+                    Dealer_Arrive__c = TRUE
+                    AND Dealer_Shipment__c = FALSE
+                    AND Dealer_Saled__c = FALSE
+                    AND Lose_Flag__c = FALSE
+                    AND Bar_Code__c IN :barcodeList
+                    AND Product_Type__c LIKE :sqlagencyProType
+                    AND Dealer_Info_text__c = :accountName
+                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                    AND Box_Piece__c = '鐩�'
+            ];
+            for (ConsumableorderdetailsInfo ass : orderdet2BoxRecords) {
+                Integer idx = 0;
+                for (Consumable_order_details2__c codtest : cOrderDet) {
+                    Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
+                    if (codtest.Bar_Code__c == ass.orderdetails2.Bar_Code__c) {
+                        cod2 = codtest;
+                        cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
+                        cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
+                        cod2.Used_date__c = ass.orderdetails2.Used_date__c;
+                        cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
+                        //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
+                        cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
+                        cod2List.add(cod2);
+                        cOrderDet.remove(idx);
+                        break;
+                    }
+                    idx++;
+                }
+            }
+
+            //涓殑鏁版嵁妫�绱�
+            List<Consumable_order_details2__c> cOrderDetPiece = [
+                SELECT Id, Bar_Code__c, RemoveBox_No__c, Name, Consumable_Product__c, Box_Piece__c
+                FROM Consumable_order_details2__c
+                WHERE
+                    Dealer_Arrive__c = TRUE
+                    AND Dealer_Shipment__c = FALSE
+                    AND Dealer_Saled__c = FALSE
+                    AND Lose_Flag__c = FALSE
+                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                    AND Bar_Code__c IN :barcodePieceList
+                    AND Product_Type__c LIKE :sqlagencyProType
+                    AND Dealer_Info_text__c = :accountName
+                    AND Box_Piece__c = '涓�'
+                ORDER BY Bar_Code__c, RemoveBox_No__c DESC
+            ];
+            for (ConsumableorderdetailsInfo ass : orderdet2PieceRecords) {
+                Decimal idy = 1;
+                for (Integer idx = 0; idx < cOrderDetPiece.size(); idx++) {
+                    Consumable_Order_details2__c cod2 = new Consumable_Order_details2__c();
+                    if (cOrderDetPiece[idx].Bar_Code__c == ass.orderdetails2.Bar_Code__c && idy <= ass.pieceCount) {
+                        cod2 = cOrderDetPiece[idx].Clone();
+                        cod2.Id = cOrderDetPiece[idx].Id;
+                        cod2.Consumable_Sale_order__c = orderInfoMap.get(ass.orderName);
+                        cod2.Consumable_ZS_order__c = orderInfoMap.get(ass.orderName);
+                        cod2.Used_date__c = ass.orderdetails2.Used_date__c;
+                        cod2.Send_Date__c = ass.orderdetails2.Send_Date__c;
+                        //cod2.Unitprice_To_agency__c = ass.orderdetails2.Unitprice_To_agency__c;
+                        cod2.Delivery_List_RMB__c = ass.orderdetails2.Delivery_List_RMB__c;
+                        cod2List.add(cod2);
+                        cOrderDetPiece[idx].Bar_Code__c = '';
+                        idy++;
+                        //break;
+                    }
+                }
+            }
+            if (cod2List.size() > 0) {
+                update cod2List;
+            }
+            errorflg = true;
+            //errorMessage = '淇濆瓨瀹屾垚銆�';
+            saveFLGbln = true;
+
+            res.status = 'Success';
+            res.code = 200;
+            res.msg = errorMsg;
+            return res;
+        } catch (Exception e) {
+            Database.rollback(sp);
+            // ApexPages.addMessages(e);
+            // return null;
+            return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getStackTraceString(), '');
         }
-      }
-      return orderdet2PieceRecords;
-    } catch (Exception e) {
-      // ApexPages.addMessages(e);
-      // return null;
-      errorMsg += e.getMessage();
-      return null;
     }
-  }
-  @TestVisible
-  class ConsumableorderdetailsInfo implements Comparable {
-    @AuraEnabled
-    public Consumable_order__c order { get; set; }
-    @AuraEnabled
-    public Consumable_orderdetails__c orderdetails1 { get; set; }
-    @AuraEnabled
-    public Consumable_order_details2__c orderdetails2 { get; set; }
-    @AuraEnabled
-    public String orderName { get; set; }
-    @AuraEnabled
-    public String hospitalCode { get; set; }
-    @AuraEnabled
-    public String hospitalName { get; set; }
-    @AuraEnabled
-    public String agencyName { get; set; }
-    @AuraEnabled
-    public String productName { get; set; }
-    @AuraEnabled
-    public Decimal pieceCount { get; set; }
-    // 鍙栧埌鐨勮鍗曚俊鎭�
-    public ConsumableorderdetailsInfo(Consumable_order__c e) {
-      order = e;
-      hospitalCode = e.Order_Attachment__c;
-      hospitalName = e.Order_Indication__c;
-      agencyName = e.Invoice_Note__c;
-      e.Order_Attachment__c = '';
-      e.Order_Indication__c = '';
-      e.Invoice_Note__c = '';
+
+    public static List<ConsumableorderdetailsInfo> getorderdetList(List<String[]> csvRecordStr) {
+        List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
+        map<string, Decimal> orderdetMap = new Map<string, Decimal>();
+        try {
+            for (Integer i = 1; i < csvRecordStr.size(); i++) {
+                Consumable_Orderdetails__c codObj = new Consumable_Orderdetails__c();
+                string[] csvRecordData = csvRecordStr[i];
+                if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12] + csvRecordData[9])) {
+                    orderdetMap.put(
+                        csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
+                        orderdetMap.get(csvRecordData[0] + csvRecordData[12] + csvRecordData[9]) + Decimal.valueOf(csvRecordData[7])
+                    );
+                    continue;
+                } else {
+                    orderdetMap.put(csvRecordData[0] + csvRecordData[12] + csvRecordData[9], Decimal.valueOf(csvRecordData[7]));
+                }
+                codObj.Remarks__c = csvRecordData[0];
+                codObj.Shipment_Count__c = Decimal.valueOf(csvRecordData[7]);
+                codObj.Box_Piece__c = csvRecordData[9];
+                if (String.isNotBlank(csvRecordData[8])) {
+                    codObj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+                }
+                codObj.Lose_reason__c = csvRecordData[12];
+                if (String.isNotBlank(csvRecordData[11])) {
+                    codObj.Used_date__c = Date.parse(csvRecordData[11].trim());
+                }
+                product2conMap.put(csvRecordData[12].trim(), csvRecordData[12].trim());
+                orderdetRecords.add(new ConsumableorderdetailsInfo(codObj));
+            }
+            for (ConsumableorderdetailsInfo ass : orderdetRecords) {
+                if (orderdetMap.containsKey(ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c)) {
+                    ass.orderdetails1.Shipment_Count__c = orderdetMap.get(ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c);
+                }
+            }
+            System.debug('orderdetRecords = ' + orderdetRecords);
+            return orderdetRecords;
+        } catch (Exception e) {
+            // ApexPages.addMessages(e);
+            // return null;
+            errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+            System.debug('orderdetRecords = null ' + e.getLineNumber());
+            return null;
+        }
     }
-    // 鍙栧埌鐨勮鍗曟槑缁�
-    public ConsumableorderdetailsInfo(Consumable_orderdetails__c e) {
-      orderdetails1 = e;
-      orderName = e.Remarks__c;
-      productName = e.Lose_reason__c;
-      e.Lose_reason__c = '';
-      e.Remarks__c = '';
+
+    public static List<ConsumableorderdetailsInfo> getorderdet2BoxList(List<String[]> csvRecordStr) {
+        barcodeList = new List<String>();
+        List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
+        try {
+            for (Integer i = 1; i < csvRecordStr.size(); i++) {
+                string[] csvRecordData = csvRecordStr[i];
+                if (String.valueOf(csvRecordData[9]) == '鐩�') {
+                    Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+                    cod2Obj.TracingCode__c = csvRecordData[0];
+                    cod2Obj.Bar_Code__c = csvRecordData[6];
+                    if (String.isNotBlank(csvRecordData[6])) {
+                        barcodeList.add(csvRecordData[6]);
+                    }
+                    cod2Obj.Box_Piece__c = csvRecordData[9];
+                    if (String.isNotBlank(csvRecordData[8])) {
+                        cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+                    }
+                    //if(String.isNotBlank(csvRecordData[10])){
+                    //  cod2Obj.Unitprice_To_agency__c = Decimal.valueOf(csvRecordData[10]);
+                    //}
+                    cod2Obj.Return_reason__c = csvRecordData[12];
+                    if (String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' || String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌') {
+                        cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
+                    } else {
+                        cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+                    }
+                    orderdet2BoxRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+                }
+            }
+            return orderdet2BoxRecords;
+        } catch (Exception e) {
+            // ApexPages.addMessages(e);
+            // return null;
+            errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+            return null;
+        }
     }
-    // 鍙栧埌鐨勪骇鍝佹槑缁�
-    public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
-      orderdetails2 = e;
-      orderName = e.TracingCode__c;
-      productName = e.Return_reason__c;
-      pieceCount = e.Rrturn_count__c;
-      e.TracingCode__c = '';
-      e.Return_reason__c = '';
-      e.Rrturn_count__c = null;
+
+    public static List<ConsumableorderdetailsInfo> getorderdet2pieceList(List<String[]> csvRecordStr) {
+        barcodePieceList = new List<String>();
+        List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
+        try {
+            for (Integer i = 1; i < csvRecordStr.size(); i++) {
+                string[] csvRecordData = csvRecordStr[i];
+                if (String.valueOf(csvRecordData[9]) == '涓�') {
+                    Consumable_Order_details2__c cod2Obj = new Consumable_Order_details2__c();
+                    cod2Obj.TracingCode__c = csvRecordData[0];
+                    cod2Obj.Bar_Code__c = csvRecordData[6];
+                    if (String.isNotBlank(csvRecordData[6])) {
+                        barcodePieceList.add(csvRecordData[6]);
+                    }
+                    cod2Obj.Box_Piece__c = csvRecordData[9];
+                    if (String.isNotBlank(csvRecordData[8])) {
+                        cod2Obj.Delivery_List_RMB__c = Decimal.valueOf(csvRecordData[8]);
+                    }
+                    cod2Obj.Return_reason__c = csvRecordData[12];
+                    if (String.valueOf(csvRecordData[1]) == '閿�鍞粰浜岀骇缁忛攢鍟�' || String.valueOf(csvRecordData[1]) == '鐩存帴閿�鍞粰鍖婚櫌') {
+                        cod2Obj.Used_date__c = Date.parse(csvRecordData[11].trim());
+                    } else {
+                        cod2Obj.Send_Date__c = Date.parse(csvRecordData[11].trim());
+                    }
+                    cod2Obj.Rrturn_count__c = Decimal.valueOf(csvRecordData[7]);
+                    orderdet2PieceRecords.add(new ConsumableorderdetailsInfo(cod2Obj));
+                }
+            }
+            return orderdet2PieceRecords;
+        } catch (Exception e) {
+            // ApexPages.addMessages(e);
+            // return null;
+            errorMsg += e.getMessage();
+            return null;
+        }
     }
-    public Integer compareTo(Object compareTo) {
-      return null;
+    @TestVisible
+    class ConsumableorderdetailsInfo implements Comparable {
+        @AuraEnabled
+        public Consumable_order__c order { get; set; }
+        @AuraEnabled
+        public Consumable_orderdetails__c orderdetails1 { get; set; }
+        @AuraEnabled
+        public Consumable_order_details2__c orderdetails2 { get; set; }
+        @AuraEnabled
+        public String orderName { get; set; }
+        @AuraEnabled
+        public String hospitalCode { get; set; }
+        @AuraEnabled
+        public String hospitalName { get; set; }
+        @AuraEnabled
+        public String agencyName { get; set; }
+        @AuraEnabled
+        public String productName { get; set; }
+        @AuraEnabled
+        public Decimal pieceCount { get; set; }
+        // 鍙栧埌鐨勮鍗曚俊鎭�
+        public ConsumableorderdetailsInfo(Consumable_order__c e) {
+            order = e;
+            hospitalCode = e.Order_Attachment__c;
+            hospitalName = e.Order_Indication__c;
+            agencyName = e.Invoice_Note__c;
+            e.Order_Attachment__c = '';
+            e.Order_Indication__c = '';
+            e.Invoice_Note__c = '';
+        }
+        // 鍙栧埌鐨勮鍗曟槑缁�
+        public ConsumableorderdetailsInfo(Consumable_orderdetails__c e) {
+            orderdetails1 = e;
+            orderName = e.Remarks__c;
+            productName = e.Lose_reason__c;
+            e.Lose_reason__c = '';
+            e.Remarks__c = '';
+        }
+        // 鍙栧埌鐨勪骇鍝佹槑缁�
+        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+            orderdetails2 = e;
+            orderName = e.TracingCode__c;
+            productName = e.Return_reason__c;
+            pieceCount = e.Rrturn_count__c;
+            e.TracingCode__c = '';
+            e.Return_reason__c = '';
+            e.Rrturn_count__c = null;
+        }
+        public Integer compareTo(Object compareTo) {
+            return null;
+        }
     }
-  }
 }

--
Gitblit v1.9.1