19626
2023-10-23 1727a4f4d02e429475608e60f142a63bc24127bc
force-app/main/default/classes/OpportunityLightingButtonController.cls
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-04-12 11:16:07
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-10-08 18:09:35
 * @LastEditTime: 2023-10-19 16:29:00
 */
public with sharing class OpportunityLightingButtonController {
    @AuraEnabled
@@ -19,6 +19,12 @@
                from Lost_cancel_report__c where RecordTypeId != '01210000000R4hHAAS' and Opportunity__c =: recordId];
            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) {
            objs.put('error',e.getMessage());
            return objs;
@@ -294,6 +300,12 @@
            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) {
            
        }
@@ -450,7 +462,8 @@
                SI_Decide_ID__c,
                Name,
                Opportunity_No__c,
                IsAuthorized__c
                IsAuthorized__c,
                recordTypeId
                from Opportunity where Id =: recordId
            ];
            res.authorizedDBNo = oppo.Authorized_DB_No__c;
@@ -459,6 +472,7 @@
            res.name = oppo.Name;
            res.opportunityNo = oppo.Opportunity_No__c;
            res.isAuthorized = oppo.IsAuthorized__c;
            res.recordTypeId = oppo.recordTypeId;
        } catch (Exception e) {
            
        }
@@ -586,7 +600,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -598,7 +612,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -612,7 +626,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -628,7 +642,7 @@
            update opp;
            return null;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -758,7 +772,7 @@
            processResults.add(Approval.process(request));
            return processResults[0].errors;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -772,7 +786,7 @@
            ];
            return user.Id;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -786,7 +800,7 @@
            ];
            return pro.Id;
        } catch (Exception e) {
            return errorMessage(e);
            return e.getDmlMessage(0);
        }
    }
    @AuraEnabled
@@ -931,25 +945,29 @@
            return '1';     
        } catch (Exception ex) {
            Database.rollback(sp);
            return errorMessage(ex);
            return ex.getDmlMessage(0);
        }
    }
    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();
    @AuraEnabled
    public static Boolean queryLostReport (String recordId){
        RecordType recordType1 = [select Id from RecordType where Name = '询价取消报告'];
        List<Lost_cancel_report__c> repList = [select Id from Lost_cancel_report__c where Opportunity__c =: recordId and RecordTypeId !=: recordType1.Id];
        if(repList.size() > 0){
            return true;
        }
        return false;
    }
    @AuraEnabled
    public static Boolean queryCancelReport (String recordId){
        RecordType recordType1 = [select Id from RecordType where Name = '询价取消报告'];
        List<Lost_cancel_report__c> repList = [select Id from Lost_cancel_report__c where Opportunity__c =: recordId and RecordTypeId =: recordType1.Id];
        if(repList.size() > 0){
            return true;
        }
        return false;
    }
    public class InitData{
        @AuraEnabled
        public Boolean directLossFLG;
@@ -1101,5 +1119,7 @@
        public String reportStatus;
        @AuraEnabled
        public String reportId;
        @AuraEnabled
        public Boolean isHavePower;
    }
}