| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-12 11:16:07 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-04-14 17:24:54 |
| | | * @LastEditTime: 2023-05-24 16:34:15 |
| | | */ |
| | | public with sharing class OpportunityLightingButtonController { |
| | | @AuraEnabled |
| | |
| | | res.trade = opportunity.Trade__c; |
| | | res.isCorrosion = opportunity.Is_Corrosion__c; |
| | | res.ifAuthorizingLock = opportunity.If_Authorizing_Lock__c; |
| | | String profile18 = UserInfo.getProfileId(); |
| | | res.profileId = profile18.substring(0,profile18.length() - 3); |
| | | res.profileId = UserInfo.getProfileId(); |
| | | res.systemProfileId = getProfileIdByName(lexLightingButtonConstant.SYSTEM_PROFILE_NAME); |
| | | res.j3ProfileId = getProfileIdByName(lexLightingButtonConstant.J3_PROFILE_NAME); |
| | | res.s61ProfileId = getProfileIdByName(lexLightingButtonConstant.S61_PROFILE_NAME); |
| | | res.s62ProfileId = getProfileIdByName(lexLightingButtonConstant.S62_PROFILE_NAME); |
| | | res.m4ProfileId = getProfileIdByName(lexLightingButtonConstant.M4_PROFILE_NAME); |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initFoBeforeOPDPDFBtnButton(String recordId){ |
| | | public static InitData initForBeforeOPDPDFBtnButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity opportunity = [ |
| | |
| | | res.bidPlannedDate = opportunity.Bid_Planned_Date__c; |
| | | res.salesAssistantName = opportunity.Sales_assistant_name__c; |
| | | res.salesAssistantID = opportunity.Sales_assistant_ID__c; |
| | | String profileId18 = UserInfo.getProfileId(); |
| | | res.profileId = profileId18.substring(0, profileId18.length() - 3); |
| | | res.profileId = UserInfo.getProfileId(); |
| | | res.systemProfileId = getProfileIdByName(lexLightingButtonConstant.SYSTEM_PROFILE_NAME); |
| | | res.s1ProfileId = getProfileIdByName(lexLightingButtonConstant.S1_PROFILE_NAME); |
| | | res.s4ProfileId = getProfileIdByName(lexLightingButtonConstant.S4_PROFILE_NAME); |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForCopyWithAssetButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity oppo = [ |
| | | select |
| | | Name, |
| | | SAP_Send_OK__c, |
| | | IsAuthorized__c |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | res.name = oppo.Name; |
| | | res.sapSendOK = oppo.SAP_Send_OK__c; |
| | | res.isAuthorized = oppo.IsAuthorized__c; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForNewOpportunityAgencyButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity opp = [ |
| | | select |
| | | Agency1__r.Id, |
| | | Agency_Opportunity__c, |
| | | Trade__c, |
| | | Hospital__r.Id, |
| | | Name, |
| | | Close_Forecasted_Date__c, |
| | | Bid_Planned_Date__c, |
| | | Dealer_Final_Price__c, |
| | | Wholesale_Price__c, |
| | | Agency1__r.Name, |
| | | Opportunity_stage__c, |
| | | Opportunity_Category__c |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | res.agency1Id = opp.Agency1__r.Id; |
| | | res.agencyOpportunity = opp.Agency_Opportunity__c; |
| | | res.trade = opp.Trade__c; |
| | | res.hospitalId = opp.Hospital__r.Id; |
| | | res.name = opp.Name; |
| | | res.closeForecastedDate = opp.Close_Forecasted_Date__c; |
| | | res.bidPlannedDate = opp.Bid_Planned_Date__c; |
| | | res.dealerFinalPrice = opp.Dealer_Final_Price__c; |
| | | res.wholesalePrice = opp.Wholesale_Price__c; |
| | | res.agency1 = opp.Agency1__c; |
| | | res.opportunityStage = opp.Opportunity_stage__c; |
| | | res.opportunityCategory = opp.Opportunity_Category__c; |
| | | res.agency1Name = opp.Agency1__r.Name; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForOpporSpliteButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity oppo = [ |
| | | select |
| | | Authorized_DB_No__c, |
| | | Estimation_Decision__c, |
| | | SI_Decide_ID__c, |
| | | Name, |
| | | Opportunity_No__c, |
| | | IsAuthorized__c |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | res.authorizedDBNo = oppo.Authorized_DB_No__c; |
| | | res.estimationDecision = oppo.Estimation_Decision__c; |
| | | res.siDecideID = oppo.SI_Decide_ID__c; |
| | | res.name = oppo.Name; |
| | | res.opportunityNo = oppo.Opportunity_No__c; |
| | | res.isAuthorized = oppo.IsAuthorized__c; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForCreateActivityButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity opp = [ |
| | | select |
| | | AccountId |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | res.accountId = opp.AccountId; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForAssignTaskButtonButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity opp = [ |
| | | select |
| | | AccountId, |
| | | Name |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | Account acc = [ |
| | | select |
| | | Name |
| | | from Account where Id =:opp.AccountId |
| | | ]; |
| | | res.accountId = opp.AccountId; |
| | | res.accountName = acc.Name; |
| | | res.name = opp.Name; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static InitData initForChangeContractTypeButton(String recordId){ |
| | | InitData res = new InitData(); |
| | | try { |
| | | Opportunity opp = [ |
| | | select |
| | | StageName, |
| | | Estimation_Decision__c, |
| | | SAP_Send_OK__c, |
| | | If_Authorizing_Lock__c |
| | | from Opportunity where Id =: recordId |
| | | ]; |
| | | res.stageName = opp.StageName; |
| | | res.estimationDecision = opp.Estimation_Decision__c; |
| | | res.sapSendOK = opp.SAP_Send_OK__c; |
| | | res.ifAuthorizingLock = opp.If_Authorizing_Lock__c; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | return res; |
| | | } |
| | | @AuraEnabled |
| | | public static string updateForAgencyAuthorizeButton(String recordId){ |
| | | try { |
| | | Opportunity opp = new Opportunity(); |
| | |
| | | Opportunity opp = new Opportunity(); |
| | | opp.Id = recordId; |
| | | if(flag){ |
| | | opp.Stock_apply_status__c = '填写完毕'; |
| | | opp.Stock_apply_status__c = lexLightingButtonConstant.STOCK_APPLY_STATUS_WRITE_OVER; |
| | | }else { |
| | | opp.Stock_apply_status__c = '草案中'; |
| | | opp.Stock_apply_status__c = lexLightingButtonConstant.STOCK_APPLY_STATUS_DRAFT; |
| | | } |
| | | update opp; |
| | | return null; |
| | |
| | | select id, |
| | | Tender_information__r.subInfoType__c |
| | | from Tender_Opportunity_Link__c |
| | | where (Tender_information__r.subInfoType__c = '3-1:废标公告' OR Tender_information__r.subInfoType__c ='3-2:流标公告') and Opportunity__c =: recordId |
| | | where (Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_SCRAPPED_LABEL OR Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_FLOW_LABEL) and Opportunity__c =: recordId |
| | | ]; |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | |
| | | quotes = [ |
| | | select |
| | | id |
| | | from QuoteIrai__c where Note__c like :opportunityId and QuoteIrai_Status__c = '草案中' |
| | | from QuoteIrai__c where Note__c like :opportunityId and QuoteIrai_Status__c =:lexLightingButtonConstant.QUOTEIRAI_STATUS_DRAFT |
| | | ]; |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | | return quotes; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static List<Agency_Hospital_Link__c> queryForNewOpportunityAgencyButtonToRecords(String agency1Id,String hospitalId){ |
| | | List<Agency_Hospital_Link__c> links = null; |
| | | try { |
| | | links = [ |
| | | SELECT |
| | | Id, |
| | | Name |
| | | FROM Agency_Hospital_Link__c WHERE Agency__c =: agency1Id AND Hospital__c =: hospitalId |
| | | ]; |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | | return links; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static List<RecordType> queryForNewOpportunityAgencyButtonToRecTypeList(String sobjectType,String developerName,Boolean isActive){ |
| | | List<RecordType> types = null; |
| | | try { |
| | | types = [ |
| | | SELECT |
| | | Id, |
| | | Name FROM RecordType WHERE SobjectType =: sobjectType And developerName=: developerName And IsActive =: isActive |
| | | ]; |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | | return types; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static List<FieldDefinition> queryForNewOpportunityAgencyButtonToRecords2(String qualifiedApiName){ |
| | | List<FieldDefinition> fields = null; |
| | | try { |
| | | fields = [ |
| | | select |
| | | QualifiedApiName, |
| | | EntityDefinition.KeyPrefix, |
| | | DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName =: qualifiedApiName |
| | | ]; |
| | | } catch (Exception e) { |
| | | System.debug('e:****' + e); |
| | | } |
| | | return fields; |
| | | } |
| | | @AuraEnabled |
| | | public static Object submitProcess(String opportunityId) { |
| | | try { |
| | | Approval.ProcessSubmitRequest request = new Approval.ProcessSubmitRequest(); |
| | | request.setObjectId(opportunityId); |
| | | Approval.ProcessResult[] processResults = new Approval.ProcessResult[] {}; |
| | | processResults.add(Approval.process(request)); |
| | | return processResults[0].errors; |
| | | } catch (Exception e) { |
| | | String eMessage = e.getMessage(); |
| | | Integer left = eMessage.indexOf(',') + 1; |
| | | Integer right = eMessage.length(); |
| | | return eMessage.substring(left,right); |
| | | } |
| | | } |
| | | @AuraEnabled |
| | | public static string getUserIdByName(String userName){ |
| | | User user = null; |
| | | try { |
| | | user = [ |
| | | select |
| | | Id |
| | | from User where Name =: userName |
| | | ]; |
| | | return user.Id; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | } |
| | | @AuraEnabled |
| | | public static string getProfileIdByName(String profileName){ |
| | | Profile pro = null; |
| | | try { |
| | | pro = [ |
| | | select |
| | | Id |
| | | from Profile where Name =: profileName |
| | | ]; |
| | | return pro.Id; |
| | | } catch (Exception e) { |
| | | throw new AuraHandledException(e.getMessage()); |
| | | } |
| | | } |
| | | @AuraEnabled |
| | | public static String changeTrade(String oppId){ |
| | | |
| | | List<Quote> quoList = [select id from Quote where OpportunityId = :oppId]; |
| | | List<OpportunityLineItem> oppLI = [select id from OpportunityLineItem where Opportunity.id = :oppId]; |
| | | |
| | | Opportunity opp = new Opportunity(); |
| | | opp.id = oppId; |
| | | opp.Estimation_Decision__c = false; |
| | | opp.Estimation_Id__c = null; |
| | | opp.Quote_Update_Sum__c = null; |
| | | opp.Estimation_No__c = null; |
| | | opp.Estimation_Proposal_Date__c = null; |
| | | opp.Estimation_Name__c = null; |
| | | // LHJ SWAG-C9QAAJ 去掉 Start |
| | | // opp.Authorized_Finish_Sales__c = null; |
| | | // opp.Authorized_DB_No__c = null; |
| | | // opp.Authorized_Date__c = null; |
| | | // opp.Autholization_Activated_Date__c = null; |
| | | // opp.Bidding_Content__c = null; |
| | | // opp.Bid_Date__c = null; |
| | | // opp.Bidding_No__c = null; |
| | | // opp.Bidding_Project_Name__c = null; |
| | | // LHJ End |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | delete quoList; |
| | | delete oppLI; |
| | | update opp; |
| | | return '1'; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | return ex.getMessage() + ' | Line:' + ex.getLineNumber(); |
| | | } |
| | | } |
| | | public class InitData{ |
| | | @AuraEnabled |
| | |
| | | public String lastOpportunityFileId; |
| | | @AuraEnabled |
| | | public String currencyIsoCode; |
| | | @AuraEnabled |
| | | public Boolean isAuthorized; |
| | | @AuraEnabled |
| | | public String agencyOpportunity; |
| | | @AuraEnabled |
| | | public String hospitalId; |
| | | @AuraEnabled |
| | | public Date closeForecastedDate; |
| | | @AuraEnabled |
| | | public Decimal dealerFinalPrice; |
| | | @AuraEnabled |
| | | public Decimal wholesalePrice; |
| | | @AuraEnabled |
| | | public String opportunityStage; |
| | | @AuraEnabled |
| | | public String opportunityCategory; |
| | | @AuraEnabled |
| | | public String agency1Name; |
| | | @AuraEnabled |
| | | public String authorizedDBNo; |
| | | @AuraEnabled |
| | | public String siDecideID; |
| | | @AuraEnabled |
| | | public String opportunityNo; |
| | | @AuraEnabled |
| | | public String systemProfileId; |
| | | @AuraEnabled |
| | | public String j3ProfileId; |
| | | @AuraEnabled |
| | | public String s62ProfileId; |
| | | @AuraEnabled |
| | | public String s61ProfileId; |
| | | @AuraEnabled |
| | | public String m4ProfileId; |
| | | @AuraEnabled |
| | | public String s4ProfileId; |
| | | @AuraEnabled |
| | | public String s1ProfileId; |
| | | @AuraEnabled |
| | | public String accountName; |
| | | } |
| | | } |