From 3962c2bb0435484b60a3e408e4738d792e249a53 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 11:09:55 +0800
Subject: [PATCH] LEX CommunityNewCmp
---
force-app/main/default/classes/LexUpAccountProLimit.cls | 143 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 143 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/LexUpAccountProLimit.cls b/force-app/main/default/classes/LexUpAccountProLimit.cls
new file mode 100644
index 0000000..c7288c6
--- /dev/null
+++ b/force-app/main/default/classes/LexUpAccountProLimit.cls
@@ -0,0 +1,143 @@
+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;
+
+ //--------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);
+ 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
+ FROM Product2__c
+ WHERE Product_Type__c like :userPro_Typestr limit 10000];//Add Limit by Li Jun 20230601, need to remove limit later
+ //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;
+ }
+ }
+ 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