19626
2023-10-11 7c7cb195462c2ded7bfe4105959ea36d1dd68ded
force-app/main/default/classes/OpportunityLightingButtonController.cls
@@ -4,23 +4,36 @@
 * @Author: chen jing wu
 * @Date: 2023-04-12 11:16:07
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-09-25 13:20:57
 * @LastEditTime: 2023-10-10 17:08:13
 */
public with sharing class OpportunityLightingButtonController {
    @AuraEnabled
    public static List<Lost_cancel_report__c> queryForEditLostButton(String recordId){
        List<Lost_cancel_report__c> res = new List<Lost_cancel_report__c>();
    public static Map<String,Object> queryForEditLostButton(String recordId){
        Map<String,Object> objs = new Map<String,Object>();
        Report1 rep = new Report1();
        try {
            List<Lost_cancel_report__c> re = [
                select id,
                Report_Status__c,
                RecordTypeId 
                from Lost_cancel_report__c where RecordTypeId != '01210000000R4hHAAS' and Opportunity__c =: recordId];
            res = re;
            rep.lostReport = re;
            objs.put('report',rep);
            Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe();
         if( !s.isCreateable()) {
            objs.put('error',true);
         }else{
                objs.put('error',false);
            }
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
            objs.put('error',e.getMessage());
            return objs;
        }
        return res;
        return objs;
    }
    public class Report1{
        @AuraEnabled
        public List<Lost_cancel_report__c> lostReport;
    }
    @AuraEnabled
    public static InitData initForPredictedDateChangeButton(String recordId){
@@ -34,7 +47,7 @@
            res.createdDay = opportunity.Created_Day__c;
            res.directLossFLG = opportunity.DirectLossFLG__c;
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -99,7 +112,7 @@
            res.s62ProfileId = getProfileIdByName(lexLightingButtonConstant.S62_PROFILE_NAME);
            res.m4ProfileId = getProfileIdByName(lexLightingButtonConstant.M4_PROFILE_NAME);
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -114,7 +127,7 @@
            ];
            res.ifOpenBid = opportunity.ifOpenBid__c;
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -129,7 +142,7 @@
            ];
            res.ifOpenBid = opportunity.ifOpenBid__c;
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -143,7 +156,7 @@
                from Opportunity where Id =: recordId];
            res.accountId = opportunity.AccountId;
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -159,7 +172,7 @@
            res.accountId = opportunity.AccountId;
            res.userId = UserInfo.getUserId();
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -175,7 +188,7 @@
            res.accountId = opportunity.AccountId;
            res.userId = UserInfo.getUserId();
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -213,7 +226,7 @@
            res.s4ProfileId = getProfileIdByName(lexLightingButtonConstant.S4_PROFILE_NAME);
            res.recordTypeId = Schema.SObjectType.Request_tedner_doc__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_AUTHORIZATION_REQUEST).getRecordTypeId();
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return res;
    }
@@ -253,7 +266,7 @@
        res.salesOwnerBuchangID = opportunity.Sales_owner_buchangID__c;
        res.recordTypeId = Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_OPPO_CANCEL_REPORT).getRecordTypeId();
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -287,8 +300,14 @@
            res.salesOwnerBuchang = opportunity.Sales_owner_buchang__c;
            res.salesOwnerBuchangID = opportunity.Sales_owner_buchangID__c;
            res.cntLostCancelDraft = opportunity.Cnt_Lost_cancel_Draft__c;
            Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe();
         if( !s.isCreateable()) {
            res.isHavePower = false;
         }else{
                res.isHavePower = true;
            }
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -311,7 +330,7 @@
            res.recordTypeId = opportunity.RecordTypeId;
            res.estimationDecisionc = opportunity.Estimation_Decision__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -335,7 +354,7 @@
            res.biddingProjectNameBidId = opportunity.Bidding_Project_Name_Bid__r.Id;
            res.estimationId = opportunity.Estimation_Id__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -352,7 +371,7 @@
            res.stockApplyStatus = opportunity.Stock_apply_status__c;
            res.lastOpportunityFileId = opportunity.Last_opportunity_file__r.Id;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -371,7 +390,7 @@
            res.reportForCNYId = cnyReport.Id;
            res.reportForUSDId = usdReport.Id;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -390,7 +409,7 @@
            res.sapSendOK = oppo.SAP_Send_OK__c;
            res.isAuthorized = oppo.IsAuthorized__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -428,7 +447,7 @@
            res.opportunityCategory = opp.Opportunity_Category__c;
            res.agency1Name = opp.Agency1__r.Name;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -453,7 +472,7 @@
            res.opportunityNo = oppo.Opportunity_No__c;
            res.isAuthorized = oppo.IsAuthorized__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -468,7 +487,7 @@
            ];
            res.accountId = opp.AccountId;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -492,7 +511,7 @@
            res.name = opp.Name;
            // res.recordTypeId = Schema.SObjectType.Task.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_INQUIRY_FOLLOW_UP).getRecordTypeId();
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -513,7 +532,7 @@
            res.sapSendOK = opp.SAP_Send_OK__c;
            res.ifAuthorizingLock = opp.If_Authorizing_Lock__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -530,7 +549,7 @@
            res.oppForecastStatus = opp.Forecast_this_month__c;
            res.recordTypeId = Schema.SObjectType.OpportunitySpecialApply__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SPECIL_APPLY_CREATE).getRecordTypeId();
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -549,7 +568,7 @@
            res.oppForecastStatus = ach.Monthly_forecast_shipping__c;
            res.recordTypeId = Schema.SObjectType.OpportunitySpecialApply__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SPECIL_APPLY_CREATE_ACH).getRecordTypeId();
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -564,7 +583,7 @@
            ];
            res.stockApplyStatus = opp.Stock_apply_status__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return res;
    }
@@ -579,10 +598,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left  = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -594,10 +610,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -611,10 +624,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -630,10 +640,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -645,7 +652,7 @@
                id 
                from InquiryPredictsDateChange__c where Predicted_Date_Status__c = :LightingButtonConstant.PREDICTED_DATE_STATUS and Opportunity__c =:recordId];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return rac;
    }
@@ -659,7 +666,7 @@
                taskStatus__c
                from task__c where OpportunityId__c =: recordId and name like :obscureName];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return tasks;
    }
@@ -673,7 +680,7 @@
                taskStatus__c
                from task__c where OpportunityId__c =: recordId and name like :obscureName];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return tasks;
    }
@@ -688,7 +695,7 @@
                where (Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_SCRAPPED_LABEL OR Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_FLOW_LABEL OR Tender_information__r.TerminateApprovalStatus__c= :lexLightingButtonConstant.SUB_INFO_TYPE_APPROVE) and Opportunity__c =: recordId
            ];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return links;
    }
@@ -703,7 +710,7 @@
                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;
    }
@@ -719,7 +726,7 @@
                FROM Agency_Hospital_Link__c WHERE Agency__c =: agency1Id AND Hospital__c =: hospitalId
            ];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return links;
    }
@@ -734,7 +741,7 @@
                Name FROM RecordType WHERE SobjectType =: sobjectType And developerName=: developerName And IsActive =: isActive 
            ];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return types;
    }
@@ -750,7 +757,7 @@
                DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName =: qualifiedApiName
            ];
        } catch (Exception e) {
            System.debug('e:****' + e);
        }
        return fields;
    }
@@ -763,10 +770,7 @@
            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);
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -780,7 +784,7 @@
            ];
            return user.Id;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -794,7 +798,7 @@
            ];
            return pro.Id;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
            return errorMessage(e);
        }
    }
    @AuraEnabled
@@ -808,7 +812,7 @@
            Quote qu = [select Have_Virtual__c from Quote where Id =: estimationId];
            bo = qu.Have_Virtual__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return bo;
    }
@@ -872,7 +876,7 @@
            }
         return s;
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        return s;
    }
@@ -939,8 +943,24 @@
            return '1';     
        } catch (Exception ex) {
            Database.rollback(sp);
            return  ex.getMessage() + ' | Line:' + ex.getLineNumber();
            return errorMessage(ex);
        }
    }
    public static string errorMessage(Exception e){
        if (e.getMessage().contains(',')) {
            System.debug(LoggingLevel.INFO, '*** e: ' + e);
            String exc = '' + e.getMessage();
            Integer left = exc.indexOf(':') + 1;
            Integer right = exc.lastIndexOf(':');
            String str = exc.substring(left,right);
            left = str.indexOf(',') +  1;
            String newStr = str.substring(left);
            return newStr;
        }else {
            return e.getMessage();
        }
    }
    public class InitData{
        @AuraEnabled
@@ -1093,5 +1113,7 @@
        public String reportStatus;
        @AuraEnabled
        public String reportId;
        @AuraEnabled
        public Boolean isHavePower;
    }
}