public with sharing class LexContractAuthorizeController { public LexContractAuthorizeController() { } @AuraEnabled public static Opportunity init(String recordId){ try{ Opportunity item=[select id,Estimation_Decision__c,Contract_DB_complite_day__c,Contract_Authorize__c,Contract_Authorize_Lock__c,If_Need_Authorize__c, Authorized_DB_No__c,SPO_URL__c,Estimation_No__c,Closing_Bid_Date__c,Bid_Date__c, Cnt_Lost_cancel_Draft__c,Cnt_Lost_cancel_report__c,IF_Submit__c,Agency1__c,Trade__c,Sales_Root__c,Is_Corrosion__c,AccDealerBlacklist__c, Agency2__c,Hospital__c,OwnerId,Sales_assistant_name_text__c //zzm 贸易合规2期 20231120 add start ,Hospital__r.TradeComplianceStatus__c ,Estimation_Id__c ,AccDealerBlacklist2__c //zzm 贸易合规2期 20231120 add end from Opportunity where id = :recordId]; return item; }catch(Exception e){ System.debug('LexStockCancelController init error: '+e.getMessage()); } return null; } //zzm 贸易合规2期 20231120 add start //获取询价上最新报价的产品的贸易合规状态 @AuraEnabled public static String getProTradeComplianceStatus(String eId) { List quoteLineItemList = [SELECT Id ,QuoteId ,Product2Id ,PricebookEntry.Product2.USRatio_US__c ,PricebookEntry.Product2.USRatio_US_OUT10__c ,PricebookEntry.Product2.CountryOfOrigin__c ,PricebookEntry.Product2.ProTradeComplianceStatus__c from QuoteLineItem where QuoteId= :eId]; for(QuoteLineItem qlt: quoteLineItemList) { // String flag = ControllerUtil.tradeComplianceStatusFlag(qlt.PricebookEntry.Product2.CountryOfOrigin__c,qlt.PricebookEntry.Product2.USRatio_US_OUT10__c); String flag = qlt.PricebookEntry.Product2.ProTradeComplianceStatus__c; if(flag == '0') { return '0'; } } return '1'; } //贸易合规 20230307 you start //营业拦截提醒 @AuraEnabled public static Boolean accSendEmail(String AccDealerBlacklist,String accname,String angency1,String angency2,String ownerids,String ddid,String oppid) { //发送邮件 List sendMails = new List(); List MailsList = new List(); List userIdList = new List(); if(String.isNotBlank(ownerids)){ userIdList.add(ownerids); } if(String.isNotBlank(ddid)){ userIdList.add(ddid); } //询价所有人,产品担当,发邮件 List UsrList = [SELECT email FROM user WHERE id in :userIdList]; //获取各个用户的email for (User u : UsrList){ MailsList.add(u.email); } MailsList.add('olympus@prec-tech.com'); //zzm 20231218 合规2期 MailsList.add(System.Label.LegalDepartmentEmail); //zzm 20231218 合规2期 system.debug('111===:'+MailsList); if (MailsList!=null&&MailsList.size()>0){ String title = ''; String body = ''; //zzm 20240111 合规2期 start String tmpMsg = '黑名单'; title = ' 【贸易合规】询价医院/经销商涉及'; if(AccDealerBlacklist=='123'){ body += '黑名单的客户为:' + accname+ '
'; body += '黑名单的经销商1为:' + angency1+ '
'; body += '黑名单的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='12'){ body += '黑名单的客户为:' + accname+ '
'; body += '黑名单的经销商1为:' + angency1+ '
'; }else if(AccDealerBlacklist=='23'){ body += '黑名单的经销商1为:' + angency1+ '
'; body += '黑名单的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='13'){ body += '黑名单的客户为:' + accname+ '
'; body += '黑名单的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='1'){ body += '黑名单的客户为:' + accname+ '
'; }else if(AccDealerBlacklist=='2'){ body += '黑名单的经销商1为:' + angency1+ '
'; }else if(AccDealerBlacklist=='3'){ body += '黑名单的经销商2为:' + angency2+ '
'; } if(AccDealerBlacklist=='890'){ tmpMsg = '冻结审核中'; body += '冻结审核中的客户为:' + accname+ '
'; body += '冻结审核中的经销商1为:' + angency1+ '
'; body += '冻结审核中的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='89'){ tmpMsg = '冻结审核中'; body += '冻结审核中的客户为:' + accname+ '
'; body += '冻结审核中的经销商1为:' + angency1+ '
'; }else if(AccDealerBlacklist=='90'){ tmpMsg = '冻结审核中'; body += '冻结审核中的经销商1为:' + angency1+ '
'; body += '冻结审核中的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='80'){ tmpMsg = '冻结审核中'; body += '冻结审核中的客户为:' + accname+ '
'; body += '冻结审核中的经销商2为:' + angency2+ '
'; }else if(AccDealerBlacklist=='8'){ tmpMsg = '冻结审核中'; body += '冻结审核中的客户为:' + accname+ '
'; }else if(AccDealerBlacklist=='9'){ tmpMsg = '冻结审核中'; body += '冻结审核中的经销商1为:' + angency1+ '
'; }else if(AccDealerBlacklist=='0'){ tmpMsg = '冻结审核中'; body += '冻结审核中的经销商2为:' + angency2+ '
'; } body += '' + System.Label.Environment_Url+ oppid +'
'; body += '谢谢!'; Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage(); messageNEW.setSubject(title + tmpMsg); //zzm 20240111 合规2期 end messageNEW.setHtmlBody(body); messageNEW.setCharset('UTF-8'); messageNEW.setToAddresses(MailsList); //List toCcMailsList = new List(); //toCcMailsList.add('youchang@prec-tech.com'); //messageNEW.setCcAddresses(toCcMailsList); sendMails.add(messageNEW); } boolean rs = true; if (sendMails.size() > 0) { Messaging.Email[] allMails = new Messaging.Email[]{}; for(Integer j = 0; j < sendMails.size(); j++) { allMails.add(sendMails.get(j)); } system.debug('222===:'+allMails); Messaging.SendEmailResult[] results = Messaging.sendEmail(allMails); System.debug('results 结果 :'+results); for (Integer i = 0; i < results.size(); i++) { if (results[i].success == false) { system.debug('=====send mail error:' + results[i].errors[0].message); rs = false; } } } return rs; } //合规2期警示名单发邮件 @AuraEnabled public static Boolean proTradeComplianceSendEmail(String oppid,String btnType) { boolean rs = true; try{ Opportunity item=[select id,Estimation_Decision__c,Contract_DB_complite_day__c,Contract_Authorize__c,Contract_Authorize_Lock__c,If_Need_Authorize__c, Authorized_DB_No__c,SPO_URL__c,Estimation_No__c,Closing_Bid_Date__c,Bid_Date__c, Cnt_Lost_cancel_Draft__c,Cnt_Lost_cancel_report__c,IF_Submit__c,Agency1__c,Trade__c,Sales_Root__c,Is_Corrosion__c,AccDealerBlacklist__c, Agency2__c,Hospital__c,OwnerId,Sales_assistant_name_text__c ,Hospital__r.Name ,Hospital__r.TradeComplianceStatus__c ,Agency1__r.Name ,Agency1__r.TradeComplianceStatus__c ,Agency2__r.Name ,Agency2__r.TradeComplianceStatus__c ,Sales_assistant_name_text__r.Alias ,Estimation_Id__c from Opportunity where id = :oppid]; //得到不合格的产品 List ProTradeComplianceList = new List(); List quoteLineItemList = [SELECT Id ,QuoteId ,Product2Id ,PricebookEntry.Product2.Name ,PricebookEntry.Product2.ProTradeComplianceStatus__c from QuoteLineItem where QuoteId= :item.Estimation_Id__c]; for(QuoteLineItem qlt: quoteLineItemList) { String flag = qlt.PricebookEntry.Product2.ProTradeComplianceStatus__c; if(flag == '0') { ProTradeComplianceList.add(qlt); } } //发送邮件 String AccDealerBlacklist = item.AccDealerBlacklist__c; List sendMails = new List(); List MailsList = new List(); List toCcMailsList = new List(); //询价所有人,产品担当,发邮件 User ownerUser = [SELECT email,Alias FROM user WHERE id = :item.OwnerId]; toCcMailsList.add('olympus@prec-tech.com'); MailsList.add(System.Label.LegalDepartmentEmail); //当前操作人发邮件 // User currentUser = [SELECT email,Alias FROM user WHERE id = :userinfo.getUserId()]; User lidongFengIdEmail = [SELECT email,Alias FROM user WHERE id = :System.Label.lidongFengId]; if(btnType=='授权申请') { MailsList.add(lidongFengIdEmail.email); } // MailsList.add(currentUser.email); system.debug('111===:'+MailsList); if (MailsList!=null&&MailsList.size()>0){ String title = ''; String body = ''; title = ' 【贸易合规】--询价'+btnType+'涉及警示产品'; if(AccDealerBlacklist=='567'){ body += '警示名单的客户为:' + item.Hospital__r.Name+' ,状态为:' +item.Hospital__r.TradeComplianceStatus__c + '
'; body += '警示名单的经销商1为:' + item.Agency1__r.Name+' ,状态为:' +item.Agency1__r.TradeComplianceStatus__c+ '
'; body += '警示名单的经销商2为:' + item.Agency2__r.Name+' ,状态为:' +item.Agency2__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='56'){ body += '警示名单的客户为:' + item.Hospital__r.Name+' ,状态为:' +item.Hospital__r.TradeComplianceStatus__c+ '
'; body += '警示名单的经销商1为:' + item.Agency1__r.Name+' ,状态为:' +item.Agency1__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='67'){ body += '警示名单的经销商1为:' + item.Agency1__r.Name+' ,状态为:' +item.Agency1__r.TradeComplianceStatus__c+ '
'; body += '警示名单的经销商2为:' + item.Agency2__r.Name+' ,状态为:' +item.Agency2__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='57'){ body += '警示名单的客户为:' + item.Hospital__r.Name+' ,状态为:' +item.Hospital__r.TradeComplianceStatus__c+ '
'; body += '警示名单的经销商2为:' + item.Agency2__r.Name+' ,状态为:' +item.Agency2__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='5'){ body += '警示名单的客户为:' + item.Hospital__r.Name+' ,状态为:' +item.Hospital__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='6'){ body += '警示名单的经销商1为:' + item.Agency1__r.Name+' ,状态为:' +item.Agency1__r.TradeComplianceStatus__c+ '
'; }else if(AccDealerBlacklist=='7'){ body += '警示名单的经销商2为:' + item.Agency2__r.Name+' ,状态为:' +item.Agency2__r.TradeComplianceStatus__c+ '
'; } body += '询价所有人是:' +ownerUser.Alias +',询价助理是:' + item.Sales_assistant_name_text__r.Alias +'
'; body += '涉及的警示产品:' ; for(QuoteLineItem qlt: ProTradeComplianceList) { body += '' + qlt.PricebookEntry.Product2.Name +'
'; } body += '谢谢!'; Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage(); messageNEW.setSubject(title); messageNEW.setHtmlBody(body); messageNEW.setCharset('UTF-8'); messageNEW.setToAddresses(MailsList); messageNEW.setCcAddresses(toCcMailsList); sendMails.add(messageNEW); } if (sendMails.size() > 0) { Messaging.Email[] allMails = new Messaging.Email[]{}; for(Integer j = 0; j < sendMails.size(); j++) { allMails.add(sendMails.get(j)); } system.debug('222===:'+allMails); Messaging.SendEmailResult[] results = Messaging.sendEmail(allMails); System.debug('results 结果 :'+results); for (Integer i = 0; i < results.size(); i++) { if (results[i].success == false) { system.debug('=====send mail error:' + results[i].errors[0].message); rs = false; } } } }catch(Exception e){ System.debug('LexStockCancelController proTradeComplianceSendEmail error: '+e.getMessage()); rs = false; } return rs; } //zzm 贸易合规2期 20231120 add end @AuraEnabled public static UpdateResult updateOppotunity( String recordId ) { UpdateResult result = new UpdateResult(); result.recordId = recordId; try{ Opportunity opp=new Opportunity(id=recordId); opp.Contract_Authorize__c = true; opp.If_Interface_Lock__c=true; opp.IF_Submit__c = true; update opp; result.success = true; result.errors = new List(); return result; }catch(Exception e){ result.success = false; result.errors = new List(); if(e.getMessage().contains(':')){ String eMessage =e.getMessage(); Integer left = eMessage.indexOf(',')+1; Integer right= eMessage.lastIndexOf('。 ')+1; if(right>eMessage.length()||right<=left){ right=eMessage.length(); } String mes=eMessage.substring(left,right); result.errors.add(mes); }else{ result.errors.add(e.getMessage()); } System.debug(LoggingLevel.INFO,'updateOppotunity Error : ' + e); } return result; } @AuraEnabled public static String submitApprovalRequest(String recordId) { try{ Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest(); req.setObjectId(recordId); Approval.ProcessResult result = Approval.process(req); if(result!=null&&result.getErrors()!=null&&result.getErrors().size()>0) return result.getErrors().get(0).getMessage(); }catch(Exception e){ System.debug('LexStockCancelController submitApprovalRequest error: '+e.getMessage()); return e.getMessage(); } return null; } @AuraEnabled public static String getProfileId(){ return UserInfo.getProfileId(); } @AuraEnabled public static boolean queryProfileId(){ List res=[select id,name from profile where name in ('2J3_特约店窗口','2M4_市场产品本部担当(询价)','系统管理员','2S6-2_营业助理','2S7_销售本部合同管理窗口','2S6-1_销售本部窗口') ]; for(Profile p:res){ if (UserInfo.getProfileId()==p.id) { return true; } } return false; } @AuraEnabled public static Boolean judgeIsAssistantAppliedOutTime(String Quoteid) { List PromotionSalesList = [select id,IsAssistantAppliedOutTime__c from PromotionSales__c where Quote__r.Quote_No__c =:Quoteid]; for(PromotionSales__c pro : PromotionSalesList){ if(pro.IsAssistantAppliedOutTime__c){ return false; } } return true; } @AuraEnabled public static Opportunity searchOpportunity(String oppid) { try{ Opportunity res=[select Id,Contract_Authorize_Lock__c from Opportunity where Id =:oppid]; return res; }catch(Exception e){ System.debug('LexStockCancelController submitApprovalRequest error: '+e.getMessage()); } return null; } @AuraEnabled // LHJ 阿西赛多检查 Start public static String checkDangerItem(String agency1) { //没有危化品证照的提示信息 String licenseStr = '第一经销商没有有效的危险化学品经营许可证。'; //没有阿西赛多经销商协议的提示信息 String accStr = '第一经销商没有阿西赛多经销商协议。'; //检查是否有证照 List licenseList = [SELECT Id FROM License_Information__c WHERE LicenseAndAccount__c = :agency1 AND LicenseType__c = '危险化学品经营许可证' AND Is_Active_Formula__c = true ]; //检查是否有阿西赛多协议 List accountList = [SELECT Id FROM Account WHERE Parent.id = :agency1 //阿西赛多 增加检索阿西赛多协议 以及 可以做报价(复选框) 精琢技术 wql 2021/01/04 start AND Contract_Quote_Decide_Flag_checkbox__c =true AND Assiesedo_Dealer__c = true //阿西赛多 增加检索阿西赛多协议 以及 可以做报价(复选框) 精琢技术 wql 2021/01/04 end ]; system.debug('licenseList:'+licenseList.size()); system.debug('agency1:'+agency1); //①既没有危化品证也没有阿西赛多协议 if(licenseList.size() == 0 && accountList.size() ==0){ return licenseStr+accStr; } //②没有危化品证 else if(licenseList.size() ==0){ return licenseStr; } //②没有阿西赛多经销商协议 else if(accountList.size() ==0){ return accStr; } //③全都有 else{ return 'OK'; } } @AuraEnabled public static String oppCheck(String oppid, String saveFlg) { Map proMap= new Map(); List OppItemList = [select PricebookEntry.Product2Id, PricebookEntry.Product2.Name From OpportunityLineItem Where OpportunityId = :oppid]; if (OppItemList.size() > 0) { for (OpportunityLineItem opl : OppItemList) { proMap.put(opl.PricebookEntry.Product2Id, opl.PricebookEntry.Product2.Name); } } List oppList = [select Agency1__c from Opportunity where id = :oppid]; String angencyId = oppList[0].Agency1__c; String strRet = ''; if (saveFlg == '1') { strRet = checkProRegisterDecide(proMap, angencyId, oppid); } else { strRet = checkProRegisterDecide(proMap, angencyId, ''); } return strRet; } public static String checkProRegisterDecide(Map proMap, String agency1, String OppId) { String errormessage = ''; Boolean error = false; Map CheckMap = new Map(); CheckMap = MapCheckProRegisterDecide(proMap, agency1, OppId); if (CheckMap.isEmpty()) { return 'OK'; } else { return '有不可销售产品或超出经销商经营范围,请更新报价单' + CheckMap; } } @AuraEnabled public static String updReg(String oppid) { List updList = new List(); List OppItemList = [select id, Id__c, Register_alleffective__c, PricebookEntry.Product2.RegisterNo_ALL__c From OpportunityLineItem Where OpportunityId = :oppid]; for (OpportunityLineItem ol : OppItemList) { ol.Register_alleffective__c = ol.PricebookEntry.Product2.RegisterNo_ALL__c; updList.add(ol); } if (updList.size() > 0) update updList; return 'OK'; } public static Map MapCheckProRegisterDecide(Map proMap, String agency1, String OppId) { Map retMap = new Map(); String errormessage = ''; Boolean error = false; Map> proAllBSstrMap; List proNotNeedList = new List(); Map> old_newMap = new Map>(); Map> new_oldMap = new Map>(); // 取得 经营范围对应产品关系 List midStr = new List(); List midStrO = new List(); // List rrList = Product_Register_contrast__c.getall().values(); // for (Product_Register_contrast__c rr : rrList) { // midStr = new List(); // midStrO = new List(); // // 经营范围对应产品关系 Map作成 旧-新对照 // if (old_newMap.containsKey(rr.Register_old__c)) { // old_newMap.get(rr.Register_old__c).add(rr.Register_new__c); // } else { // midStrO.add(rr.Register_new__c); // old_newMap.put(rr.Register_old__c, midStrO.clone()); // } // // 经营范围对应产品关系 Map作成 新-旧对照 // if (new_oldMap.containsKey(rr.Register_new__c)) { // new_oldMap.get(rr.Register_new__c).add(rr.Register_old__c); // } else { // midStr.add(rr.Register_old__c); // new_oldMap.put(rr.Register_new__c, midStr.clone()); // } // } // 取得经销商 医疗器械经营许可证 List licenseList = [SELECT Id, ScopeKey__c, LicenseType__c FROM License_Information__c WHERE LicenseAndAccount__c = :agency1 AND (LicenseType__c = '医疗器械经营许可证' OR LicenseType__c = '第二类医疗器械经营备案凭证') AND Is_Active_Formula__c = true ]; // 判断 医疗器械经营许可证 是否存在 if (licenseList.size() == 0) { error = true; errormessage = '第一经销商没有有效的医疗器械经营许可证。'; retMap.put('agency', '0'); } else { //经销商经营范围 List agListA = new List(); List agListTemp = new List(); List agList = new List(); //取经销商下 所有医疗器械经营许可证、第二类医疗器械经营备案凭证 for (License_Information__c li : licenseList) { if (li.ScopeKey__c != null) { agListA.addAll(li.ScopeKey__c.split(';')); agListTemp.addAll(li.ScopeKey__c.split(';')); } } for (String a : agListTemp) { if (a.length() >= 6) { agList.add(a.substring(0, a.length() - 1)); } else { agList.add(a.trim()); } } //产品注册证 Map> proBSMap = new Map>(); Map proMidMap = null; //产品所有有效注册证(可以和经销商匹配) proAllBSstrMap = new Map>(); set proIdList = new set(); for (String qli : proMap.keySet()) { proIdList.add(qli); proBSMap.put(qli, proMidMap); List empList = new List(); proAllBSstrMap.put(qli, empList); } List prls = [ Select Product2__c, Product2__r.Asset_Model_No__c, Product2__r.SFDA_Approbated_Status__c, Product2__r.SFDA_Status_New__c, // 产品的CFDA最终状态 20181225 Product_Register__r.Name, Product_Register__r.BusinessScopeKey__c, Product_Register__r.RegisterNoStatus__c, Product_Register__r.MedPrdClass__c From Product_Register_Link__c where Product2__c in :proIdList ]; // LHJ 20190102 增加跳过逻辑 Start List productList = [select ID,SFDA_Status__c from Product2 where id in :proIdList]; for (Product2 pro : productList) { if (pro.SFDA_Status__c == '不要') { proNotNeedList.add(pro.ID); } } // LHJ 20190102 增加跳过逻辑 End for (Product_Register_Link__c prl : prls) { // 设置产品类别MAP if (String.isNotBlank(prl.Product_Register__r.BusinessScopeKey__c)) { system.debug('Product2 +++++++' + prl.Product2__c); if (proBSMap.get(prl.Product2__c) != null) { proBSMap.get(prl.Product2__c).put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c); } else { Map toooMap = new Map(); toooMap.put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c); proBSMap.put(prl.Product2__c, toooMap.clone()); } } // 产品的产品注册证是"不要"状态 不需要匹配注册证 20181225 if (prl.Product2__r.SFDA_Approbated_Status__c == '不要' || prl.Product_Register__r.MedPrdClass__c == '1') { proNotNeedList.add(prl.Product2__c); } } system.debug('proBSMap +++++++' + proBSMap); for (String qli : proMap.keySet()) { String proId = qli; String proName = proMap.get(proId); if (proId != null) { Boolean haveBS = false; // 产品属于非医疗,不用判断经营范围 if (proNotNeedList.contains(proId)) { haveBS = true; continue; } if (proBSMap.get(proId) == null) { error = true; errormessage += '产品"' + proName + '"没有有效的产品注册证。\n'; retMap.put(proId, '1'); continue; } if (proBSMap.get(proId) != null) { system.debug('111 +++++++' + proBSMap); Map midMap = new Map(); midMap = proBSMap.get(proId); for (String str : midMap.keySet()) { // LHJ 20200711 Start String strMidMap = midMap.get(str); List proRegList = new List(); proRegList.addAll(strMidMap.split(';')); // LHJ 20200711 End for(String strReg:proRegList){ // 被定义为"6815A"的产品类别,经营范围中必须有6815或者6815A外才可以匹配。 if (strReg.length() == 6) { for(String strAg:agListA){ if(strAg.length() >= 5 && midMap.get(str.substring(0, str.length() - 1)) == strAg.substring(0,5)){ proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1)); haveBS = true; break; } } /*if (agListA.contains(midMap.get(str.substring(0, str.length() - 1)))) { proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1)); haveBS = true; }*/ } else { system.debug('agList +++++++' + agList); system.debug('midMap +++++++' + strReg); if (agList.contains(strReg)) { //产品类别,匹配到经销商类别 proAllBSstrMap.get(proId).add(str); haveBS = true; break; } } } } } if (!haveBS) { error = true; errormessage += '第一经销商的经营范围中不包含产品" ' + proName + '"。\n'; retMap.put(proId, '2'); } } } } if (retMap.isEmpty() == false) { //return errormessage; } else { if (OppId != '') { // 更新所有注册证信息 String strRegister_alleffective; List pro2List = new List(); Map pro2Map = new Map(); List updList = new List(); List OppItemList = [select id, Id__c, Register_alleffective__c,PricebookEntry.Product2Id From OpportunityLineItem Where OpportunityId = :OppId]; // 非医疗或1类产品,取得 if (proNotNeedList != null && proNotNeedList.size() > 0) { pro2List = [select id, SFDA_Approbated_Status__c, RegisterNo_ALL__c from Product2 where Id in :proNotNeedList]; } for (Product2 pro2 : pro2List) { pro2Map.put(pro2.Id, pro2); } for (OpportunityLineItem ol : OppItemList) { if (proAllBSstrMap.containsKey(ol.PricebookEntry.Product2Id)) { ol.Register_alleffective__c = ''; for(String str: proAllBSstrMap.get(ol.PricebookEntry.Product2Id)) { if (String.isNotBlank(ol.Register_alleffective__c)) { ol.Register_alleffective__c += ';' + str; } else { ol.Register_alleffective__c = str; } } // 非医疗或1类产品 if (pro2Map.containskey(ol.PricebookEntry.Product2Id)) { if (pro2Map.get(ol.PricebookEntry.Product2Id).SFDA_Approbated_Status__c == '不要') { ol.Register_alleffective__c = 'FYL'; } else { ol.Register_alleffective__c = pro2Map.get(ol.PricebookEntry.Product2Id).RegisterNo_ALL__c; } } } updList.add(ol); } if (updList.size() > 0) update updList; } } //如果不满足阿西赛多的条件,进入这个变量 20200821 ljh return retMap; } public class UpdateResult { @AuraEnabled public String recordId {get;set;} @AuraEnabled public Boolean success {get;set;} @AuraEnabled public List errors {get;set;} } public class InitData{ } // @AuraEnabled // public static void test(){ // Integer i=0; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // i++; // } }