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