public with sharing class lexLostCancelReportController { @AuraEnabled public static InitData initSubmitReportButton(String recordId){ InitData res = new InitData(); try { Lost_Cancel_Report__c report = [ select Opportunity__c from Lost_Cancel_Report__c where Id =: recordId ]; Opportunity opp = [ select Cnt_Lost_cancel_report__c, Cnt_Lost_cancel_Draft__c from Opportunity where Id =: report.Opportunity__c ]; //生产环境bug修改 陈京武 20231105 Start RecordType recordType1 = [select Id from RecordType where Name = '询价取消报告']; List repList = [select Id from Lost_cancel_report__c where Opportunity__c =: opp.Id and RecordTypeId !=: recordType1.Id and Report_Status__c != '草案']; if(repList.size() > 0){ res.error = '已经有提交的失单报告,不可提交取消报告'; return res; } //生产环境bug修改 陈京武 20231105 End res.cntLostCancelDraft = opp.Cnt_Lost_cancel_Draft__c; res.cntLostCancelReport = opp.Cnt_Lost_cancel_report__c; } catch (Exception e) { } return res; } @AuraEnabled public static InitData initForEditCancelReport(String recordId){ InitData res = new InitData(); try { Lost_cancel_report__c report = [ select Id, RecordTypeId, Opportunity__c, LostType__c , Report_Status__c from Lost_cancel_report__c where id =: recordId ]; res.recordTypeId = report.RecordTypeId; res.lostType = report.LostType__c; res.reportStatus = report.Report_Status__c; } catch (Exception e) { } return res; } @AuraEnabled public static string updateSubmitReportButton(String recordId){ Savepoint sp = Database.setSavepoint(); Lost_cancel_report__c report = new Lost_cancel_report__c(); try { report.Id = recordId; report.Report_Status__c = '提交'; update report; // Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest(); // psr.setObjectId(report.Id); // Approval.ProcessResult submitResult = Approval.process(psr); return null; } catch (Exception e) { Database.rollback(sp); 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 public Decimal cntLostCancelReport; @AuraEnabled public Decimal cntLostCancelDraft; @AuraEnabled public String recordTypeId; @AuraEnabled public String lostType; @AuraEnabled public String reportStatus; //生产环境bug修改 陈京武 20231105 Start @AuraEnabled public String error; //生产环境bug修改 陈京武 20231105 End } }