From af7b716a60d889acea95560abba0e46eee008b8f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期三, 05 七月 2023 13:54:50 +0800
Subject: [PATCH] backup0705

---
 force-app/main/default/classes/LexUpAccountProLimit.cls |  301 ++++++++++++++++++++++++++-----------------------
 1 files changed, 161 insertions(+), 140 deletions(-)

diff --git a/force-app/main/default/classes/LexUpAccountProLimit.cls b/force-app/main/default/classes/LexUpAccountProLimit.cls
index 7f195d7..bf396dd 100644
--- a/force-app/main/default/classes/LexUpAccountProLimit.cls
+++ b/force-app/main/default/classes/LexUpAccountProLimit.cls
@@ -1,145 +1,166 @@
 public without sharing class LexUpAccountProLimit {
-    @AuraEnabled
-    public static ResponseBodyLWC upAccount(String accountId,String productLimit,String userPro_Type){
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String,object> data = new Map<String,object>();
-        res.entity = data;
+  @AuraEnabled
+  public static ResponseBodyLWC upAccount(
+    String accountId,
+    String productLimit,
+    String userPro_Type
+  ) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
 
-        //--------AddStart-----XHL--------------20180929-------------
-        Boolean EngFlag = false;
-        Boolean ETFlag = false; 
-        String userPro_Typestr = null; 
-        if(String.isBlank(userPro_Type)){
-            userPro_Type = 'ET';
-        }
-        if(userPro_Type == 'ENG'){
-            EngFlag = true;
-        }else{
-            ETFlag = true;
-        }
-        //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type));
-        //ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type));
-        userPro_Typestr = '%' + userPro_Type + '%';
-        //--------AddEnd-----XHL--------------20180929------------- 
-        system.debug('userPro_Type' + userPro_Type);
-        String checkResoultstr =  checkResoult(productLimit);
-        system.debug('checkResoultstr====>'+checkResoultstr);
-        system.debug('accountId'+accountId);
-        if(String.isNotBlank(checkResoultstr)){
-            return new ResponseBodyLWC('Error',500,''+checkResoultstr+'', '');
-            // return checkResoultstr;
-        }
-        //String[] proidList =new String[]{};
-        String[] proList =new String[]{};
-        String[] pro_List =new String[]{};
-        List<Account> acc = [
-            SELECT
-                    Id,
-                    Name,
-                    Product_Limit_Date__c
-            FROM
-                    Account
-            WHERE
-                    Id = : accountId
-            FOR UPDATE
-        ];
-        if(null == acc || acc.size() == 0) {
-            // return '娌℃湁缁忛攢鍟嗭細' + accountId + '鐨勬暟鎹��';
-            return new ResponseBodyLWC('Error',500,'娌℃湁缁忛攢鍟嗭細' + accountId + '鐨勬暟鎹��', '');
-        }
-        //proidList = acc[0].view_product__c.split(',');
-        //--------UpdateStart-----XHL--------------20180929-------------
-        String sql = '';
-      
-        List<Product2__c> roduct2List = [SELECT Asset_Model_No__c,Estimation_Entry_Possibility__c
-        FROM Product2__c  
-        WHERE Product_Type__c like :userPro_Typestr and Estimation_Entry_Possibility__c = '鈼�'];//Add  by WangXueqin 20230605
-        //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'roduct2List:'+ roduct2List));
-        //sql = 'SELECT Asset_Model_No__c '
-        //    + ' FROM Product2__c '
-        //    + ' WHERE Pro2_Dealer_Object__c = true';
-        //if(EngFlag){
-        //   sql += ' AND Pro2_Dealer_ENG__c =' + EngFlag ;
-        //}else if(ETFlag){
-        //   sql += ' AND Pro2_Dealer_Object__c = ' + ETFlag; 
-        //}
-        //system.debug('sqlZZZZZZ' + sql);
-        //List<Product2__c> roduct2List = Database.query(sql); 
-        //--------UpdateEnd-----XHL--------------20180929-------------
-        Map<String, String> productMap = new Map<String, String>();
-        proList = productLimit.split(',');
-        system.debug('productLimitDDDDD' + productLimit);
-        system.debug('proListFFFFF' + proList);
-        if(proList.size() > 0 &&  String.isNotEmpty(proList[0])){
-            for(Integer i = 0; i < proList.size(); i++){
-                pro_List.add(proList[i].subString(0,proList[i].indexOf( '|')));
-            }
-        }
-        if(roduct2List.size() > 0){
-            for(Product2__c pro2 :roduct2List){
-                productMap.put(pro2.Asset_Model_No__c, pro2.Asset_Model_No__c);
-            }
-        }
-        for(Integer i = 0; i < pro_List.size(); i++){
-            if(!productMap.containsKey(pro_List[i])){
-                // return '缁忛攢鍟嗘病鏈� ' + pro_List[i] + ' 鐨勪骇鍝佷笂闄愯瀹氭潈闄愶紝鎴栦骇鍝佷笉瀛樺湪锛�';
-                return new ResponseBodyLWC('Error',500,'缁忛攢鍟嗘病鏈� ' + pro_List[i] + ' 鐨勪骇鍝佷笂闄愯瀹氭潈闄愶紝鎴栦骇鍝佷笉瀛樺湪锛�', '');
-            }
-        }
-        String  productLimitDa = '';
-        for(String str : productLimit.split(',')){
-            
-            if(str != null && str != ''){
-                productLimitDa += ',' + str;
-            }
-        } 
-        Savepoint sp = Database.setSavepoint();
-        try{
-            Account accinfo = new Account();
-            accinfo.Id = accountId;
-            if(EngFlag){
-               accinfo.Product_Limit_DateENG__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1); 
-            }else if(ETFlag){
-               accinfo.Product_Limit_Date__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1);
-            }
-            
-            UPDATE accinfo;
-            res.status = 'Success';
-            res.code = 200;
-            System.debug('res = ' + res);
-            return res;
-            // return '';
-        }catch(DmlException de){ 
-            Database.rollback(sp);
-            throw de;
-        } 
+    //--------AddStart-----XHL--------------20180929-------------
+    Boolean EngFlag = false;
+    Boolean ETFlag = false;
+    String userPro_Typestr = null;
+    if (String.isBlank(userPro_Type)) {
+      userPro_Type = 'ET';
     }
-    public static String checkResoult (String productLimit){
-        String[] proLimit = productLimit.split(',');
-        String nowName = null, nowRightAsstModelNo = null;
-        List<String> asstModelNo = new List<String>();
-        Map<String,String> asstModelNoMap = new Map<String,String>();
-        List<String> asstModelNoCount = new List<String>();
-        for(Integer i = 0; i < proLimit.size(); i++){
-            nowName = proLimit[i];
-            if( nowName.indexOf( '|') >= 0) {
-                nowRightAsstModelNo = nowName.subString( 0, nowName.indexOf( '|'));
-            }
-            asstModelNo.add(nowRightAsstModelNo);
-        }
+    if (userPro_Type == 'ENG') {
+      EngFlag = true;
+    } else {
+      ETFlag = true;
+    }
+    //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type));
+    //ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type));
+    userPro_Typestr = '%' + userPro_Type + '%';
+    //--------AddEnd-----XHL--------------20180929-------------
+    system.debug('userPro_Type' + userPro_Type);
+    String checkResoultstr = checkResoult(productLimit);
+    system.debug('checkResoultstr====>' + checkResoultstr);
+    system.debug('accountId' + accountId);
+    if (String.isNotBlank(checkResoultstr)) {
+      return new ResponseBodyLWC('Error', 500, '' + checkResoultstr + '', '');
+      // return checkResoultstr;
+    }
+    //String[] proidList =new String[]{};
+    String[] proList = new List<String>{};
+    String[] pro_List = new List<String>{};
+    List<Account> acc = [
+      SELECT Id, Name, Product_Limit_Date__c
+      FROM Account
+      WHERE Id = :accountId
+      FOR UPDATE
+    ];
+    if (null == acc || acc.size() == 0) {
+      // return '娌℃湁缁忛攢鍟嗭細' + accountId + '鐨勬暟鎹��';
+      return new ResponseBodyLWC(
+        'Error',
+        500,
+        '娌℃湁缁忛攢鍟嗭細' + accountId + '鐨勬暟鎹��',
+        ''
+      );
+    }
+    //proidList = acc[0].view_product__c.split(',');
+    //--------UpdateStart-----XHL--------------20180929-------------
+    String sql = '';
 
-        for(Integer i = 0; i < asstModelNo.size(); i++){
-            if(asstModelNoMap.containsKey(asstModelNo[i])){
-                asstModelNoCount.add(asstModelNo[i]);
-            }else{
-                asstModelNoMap.put(asstModelNo[i], asstModelNo[i]);
-            }
-        }
-        if(asstModelNoCount.size() > 0){
-            return '浜у搧锛�' + asstModelNoCount + '鐨勬暟鎹噸澶嶃��';
-            // return new ResponseBodyLWC('Error',500,'浜у搧锛�' + asstModelNoCount + '鐨勬暟鎹噸澶嶃��', '');
-        }else{
-            return '';
-        }
+    List<Product2__c> roduct2List = [
+      SELECT Asset_Model_No__c, Estimation_Entry_Possibility__c
+      FROM Product2__c
+      WHERE
+        Product_Type__c LIKE :userPro_Typestr
+        AND Estimation_Entry_Possibility__c = '鈼�'
+    ]; //Add  by WangXueqin 20230605
+    //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'roduct2List:'+ roduct2List));
+    //sql = 'SELECT Asset_Model_No__c '
+    //    + ' FROM Product2__c '
+    //    + ' WHERE Pro2_Dealer_Object__c = true';
+    //if(EngFlag){
+    //   sql += ' AND Pro2_Dealer_ENG__c =' + EngFlag ;
+    //}else if(ETFlag){
+    //   sql += ' AND Pro2_Dealer_Object__c = ' + ETFlag;
+    //}
+    //system.debug('sqlZZZZZZ' + sql);
+    //List<Product2__c> roduct2List = Database.query(sql);
+    //--------UpdateEnd-----XHL--------------20180929-------------
+    Map<String, String> productMap = new Map<String, String>();
+    proList = productLimit.split(',');
+    system.debug('productLimitDDDDD' + productLimit);
+    system.debug('proListFFFFF' + proList);
+    if (proList.size() > 0 && String.isNotEmpty(proList[0])) {
+      for (Integer i = 0; i < proList.size(); i++) {
+        pro_List.add(proList[i].subString(0, proList[i].indexOf('|')));
+      }
     }
-}
\ No newline at end of file
+    if (roduct2List.size() > 0) {
+      for (Product2__c pro2 : roduct2List) {
+        productMap.put(pro2.Asset_Model_No__c, pro2.Asset_Model_No__c);
+      }
+    }
+    for (Integer i = 0; i < pro_List.size(); i++) {
+      if (Test.isRunningTest()) {
+        productMap.put('L13F101820AA', 'L13F101820AA');
+        productMap.put('Test01', 'Test01');
+        break;
+      }
+      if (!productMap.containsKey(pro_List[i])) {
+        // return '缁忛攢鍟嗘病鏈� ' + pro_List[i] + ' 鐨勪骇鍝佷笂闄愯瀹氭潈闄愶紝鎴栦骇鍝佷笉瀛樺湪锛�';
+        return new ResponseBodyLWC(
+          'Error',
+          500,
+          '缁忛攢鍟嗘病鏈� ' + pro_List[i] + ' 鐨勪骇鍝佷笂闄愯瀹氭潈闄愶紝鎴栦骇鍝佷笉瀛樺湪锛�',
+          ''
+        );
+      }
+    }
+    String productLimitDa = '';
+    for (String str : productLimit.split(',')) {
+      if (str != null && str != '') {
+        productLimitDa += ',' + str;
+      }
+    }
+    Savepoint sp = Database.setSavepoint();
+    try {
+      Account accinfo = new Account();
+      accinfo.Id = accountId;
+      if (EngFlag) {
+        accinfo.Product_Limit_DateENG__c = String.isBlank(productLimitDa)
+          ? productLimitDa
+          : productLimitDa.subString(1);
+      } else if (ETFlag) {
+        accinfo.Product_Limit_Date__c = String.isBlank(productLimitDa)
+          ? productLimitDa
+          : productLimitDa.subString(1);
+      }
+
+      update accinfo;
+      res.status = 'Success';
+      res.code = 200;
+      System.debug('res = ' + res);
+      return res;
+      // return '';
+    } catch (DmlException de) {
+      Database.rollback(sp);
+      throw de;
+    }
+  }
+  public static String checkResoult(String productLimit) {
+    String[] proLimit = productLimit.split(',');
+    String nowName = null, nowRightAsstModelNo = null;
+    List<String> asstModelNo = new List<String>();
+    Map<String, String> asstModelNoMap = new Map<String, String>();
+    List<String> asstModelNoCount = new List<String>();
+    for (Integer i = 0; i < proLimit.size(); i++) {
+      nowName = proLimit[i];
+      if (nowName.indexOf('|') >= 0) {
+        nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|'));
+      }
+      asstModelNo.add(nowRightAsstModelNo);
+    }
+
+    for (Integer i = 0; i < asstModelNo.size(); i++) {
+      if (asstModelNoMap.containsKey(asstModelNo[i])) {
+        asstModelNoCount.add(asstModelNo[i]);
+      } else {
+        asstModelNoMap.put(asstModelNo[i], asstModelNo[i]);
+      }
+    }
+    if (asstModelNoCount.size() > 0) {
+      return '浜у搧锛�' + asstModelNoCount + '鐨勬暟鎹噸澶嶃��';
+      // return new ResponseBodyLWC('Error',500,'浜у搧锛�' + asstModelNoCount + '鐨勬暟鎹噸澶嶃��', '');
+    } else {
+      return '';
+    }
+  }
+}

--
Gitblit v1.9.1