From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:34:12 +0800 Subject: [PATCH] lexcommunityupload0714 --- force-app/main/default/classes/LexUpAccountProLimit.cls | 306 ++++++++++++++++++++++++-------------------------- 1 files changed, 145 insertions(+), 161 deletions(-) diff --git a/force-app/main/default/classes/LexUpAccountProLimit.cls b/force-app/main/default/classes/LexUpAccountProLimit.cls index bf396dd..68dfba6 100644 --- a/force-app/main/default/classes/LexUpAccountProLimit.cls +++ b/force-app/main/default/classes/LexUpAccountProLimit.cls @@ -1,166 +1,150 @@ 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'; + //--------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(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; + } } - 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 = ''; + 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); + } - 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('|'))); - } + 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 ''; + } } - 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 ''; - } - } -} +} \ No newline at end of file -- Gitblit v1.9.1