/* 用于给lwc的js初始化数据和对记录进行dml操作,此controller属于报告书 */ public with sharing class ReportController { @AuraEnabled public static InitData initForOPDReportConsumButton(String recordId){ InitData res = new initData(); try { Consum_Apply__c con = [select RA_Status__c,Product_category__c,Id,Hospital__c,Strategic_dept__c,Account__c from Consum_Apply__c where Id =: recordId]; res.raStatus = con.RA_Status__c; res.productCategory = con.Product_category__c; res.consumApplyId = con.Id; res.hospital = con.Hospital__c; res.strategicDept = con.Strategic_dept__c; res.account = con.Account__c; res.recordTypeId1 = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SIS_ENG).getRecordTypeId(); res.recordTypeId = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SIS_ET).getRecordTypeId(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static InitData initForOPDReportButton(String recordId){ InitData res = new initData(); try { Rental_Apply__c rent = [select RA_Status__c,Asset_return_day2__c,Hospital__c,Strategic_dept__c,Account__c,OPDPlan__c,Follow_UP_Opp__c,demo_purpose2__c from Rental_Apply__c where Id =: recordId]; res.raStatus = rent.RA_Status__c; res.assetReturnDay2 = rent.Asset_return_day2__c; res.hospitalId = rent.Hospital__c; res.strategicDeptId = rent.Strategic_dept__c; res.accountId = rent.Account__c; res.demoPurpose2 = rent.demo_purpose2__c; res.followUPOpp = rent.Follow_UP_Opp__c; res.opdPlan = rent.OPDPlan__c; res.recordTypeId = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_OPD).getRecordTypeId(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给VOC完毕相应的js提供初始化数据 @AuraEnabled public static InitData initForVOCFinishButton (String recordId) { InitData res = new initData(); try { Report__c report = [select Status__c from Report__c where Id = :recordId]; res.status = report.Status__c; res.profileId = UserInfo.getProfileId(); res.userId = UserInfo.getUserId(); res.luShengId = getUserIdByName(LightingButtonConstant.LU_SHENG_NAME); res.huDiAnId = getUserIdByName(LightingButtonConstant.HU_DI_AN_NAME); res.systemProfileId = getProfileIdByName(LightingButtonConstant.SYSTEM_PROFILE_NAME); System.debug(LoggingLevel.INFO, '*** res: ' + res); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给VOC判定相应的js提供初始化数据 @AuraEnabled public static InitData initForVOCCheckButton (String recordId) { InitData res = new initData(); try { Report__c report = [select Status__c,IsVOC__c,Responsible_Person__r.Id from Report__c where Id = :recordId]; res.status = report.Status__c; res.isVOC = report.IsVOC__c; res.personId = report.Responsible_Person__r.Id; res.profileId = UserInfo.getProfileId(); res.userId = UserInfo.getUserId(); res.luShengId = getUserIdByName(LightingButtonConstant.LU_SHENG_NAME); // res.huDiAnId = getUserIdByName(LightingButtonConstant.HU_DI_AN_NAME); res.systemProfileId = getProfileIdByName(LightingButtonConstant.SYSTEM_PROFILE_NAME); System.debug(LoggingLevel.INFO, '*** res: ' + res); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给VOC提出相应的js提供初始化数据 @AuraEnabled public static Initdata initForVOCSubmitButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c,Owner.Id,CreatedBy.Id from Report__c where Id = :recordId]; res.status = report.Status__c; res.ownerId = report.Owner.Id; res.createdById = report.CreatedBy.Id; System.debug(LoggingLevel.INFO, '*** res: ' + res); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给VOC回答相应的js提供初始化数据 @AuraEnabled public static Initdata initForVOCAnswerButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c from Report__c where Id = :recordId]; res.status = report.Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给VOC结果确认相应的js提供初始化数据 @AuraEnabled public static InitData initForVOCConfirmButton (String recordId) { InitData res = new initData(); try { Report__c report = [select Status__c,VOC_Satisfy__c,VOC_Satisfy1__c from Report__c where Id = :recordId]; res.status = report.Status__c; res.satisfy = report.VOC_Satisfy__c; res.satisfy1 = report.VOC_Satisfy1__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给取消相应的js提供初始化数据 @AuraEnabled public static InitData initForCancelButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c from Report__c where Id = :recordId]; res.status = report.Status__c; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给OCSM不要报告相应的js提供初始化数据 @AuraEnabled public static InitData initForOCSMNoToReportButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select OCSMAdministrativeReportNumber__c,OCSMAdministrativeReportDate__c,Aware_date__c from Report__c where Id = :recordId]; res.theOCSMAdministrativeReportDate = report.OCSMAdministrativeReportDate__c; res.theOCSMAdministrativeReportNumber = report.OCSMAdministrativeReportNumber__c; res.awareDate = report.Aware_date__c; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给SIStoOPD相应的js提供初始化数据 @AuraEnabled public static InitData initForSIStoOPDButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c,Owner.Id from Report__c where Id = :recordId]; res.status = report.Status__c; res.ownerId = report.Owner.Id; res.userId = UserInfo.getUserId(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给OCSM要报告相应的js提供初始化数据 @AuraEnabled public static InitData initForOCSMToReportButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select OCSMAdministrativeReportStatus__c,AwareDate__C from Report__c where Id = :recordId]; res.theOCSMAdministrativeReportStatus = report.OCSMAdministrativeReportStatus__c; res.awareDate = report.AwareDate__C; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给完毕相应的js提供初始化数据 @AuraEnabled public static InitData initForCompleteButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c from Report__c where Id = :recordId]; res.status = report.Status__c; res.profileId = UserInfo.getProfileId(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给Intake universal code编辑相应的js提供初始化数据 @AuraEnabled public static InitData initForASRCEditorButton(String recordId){ InitData res = new InitData(); String developerName = LightingButtonConstant.DEVELOPER_NAME_ASRC_DECISION; try { PAE_DecisionRecord__c[] report = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_Report__c = :recordId And RecordType.DeveloperName = :developerName Order by LastModifiedDate desc]; if (report != null && !report.isEmpty()) { res.lastModifiedDate = report[0].LastModifiedDate; res.id = report[0].Id; res.name = report[0].Name; res.lastModifiedById = report[0].LastModifiedById; res.developerName = report[0].RecordType.DeveloperName; } } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给Final universal code编辑相应的js提供初始化数据 @AuraEnabled public static InitData initForASACEditorButton(String recordId){ InitData res = new InitData(); String recordTypeId = LightingButtonConstant.DEVELOPER_NAME_ASAC_DECISION; try { PAE_DecisionRecord__c[] report = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_Report__c = :recordId And RecordType.DeveloperName = :recordTypeId Order by LastModifiedDate desc]; if (report != null && !report.isEmpty()) { res.lastModifiedDate = report[0].LastModifiedDate; res.id = report[0].Id; res.name = report[0].Name; res.lastModifiedById = report[0].LastModifiedById; res.developerName = report[0].RecordType.DeveloperName; } } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给OPDtoSIS相应的js提供初始化数据 @AuraEnabled public static InitData initForOPDtoSISButton(String recordId){ InitData res = new InitData(); try { Report__c report = [select Status__c,Owner.Id from Report__C where Id = :recordId]; res.status = report.Status__c; res.ownerId = report.Owner.Id; res.userId = UserInfo.getUserId(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给提交(对手活动报告)相应的js提供初始化数据 @AuraEnabled public static InitData initForSubmitCompetitorReportButton(String recordId){ InitData res = null; try { res = new InitData(); } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static InitData initForNewOnLineSurveyButton(String recordId){ InitData res = new InitData(); try { Report__c re = [ select Date__c, Practitioner1__c, OwnerId from Report__c where Id =: recordId ]; res.ownerId = re.OwnerId; res.datec = re.Date__c; res.practitioner1 = re.Practitioner1__c; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //给提交相应的js提供初始化数据 @AuraEnabled public static String updateForSubmitButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.Status__c = LightingButtonConstant.RECORD_TYPE_NAME_BY_SUBMIT; rac.Submit_time__c = Datetime.now(); rac.Submit_report_day__c = Date.today(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //OPDtoSIS操作更新相应数据 @AuraEnabled public static String updateForOPDtoSISButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.recordTypeId = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_OPD).getRecordTypeId(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //取消提交操作更新相应数据 @AuraEnabled public static String updateForCancelSubmitReportButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.Status__c = LightingButtonConstant.STATUS_DRAFT; rac.Submit_report_day__c = null; rac.Submit_time__c = null; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //完毕操作更新相应数据 @AuraEnabled public static String updateForCompleteButton(String recordId){ Report__c rac = new Report__c(); try { rac.Id = recordId; rac.Status__c = LightingButtonConstant.STATUS_COMPLETE; rac.recordTypeId = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.VOC_NAME).getRecordTypeId(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //OCSM要报告操作更新相应数据 @AuraEnabled public static String updateForOCSMToReportButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.OCSMAdministrativeReportStatus__c = LightingButtonConstant.STATUS_TO_BE_REPORTED; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //SIStoOPD操作更新相应数据 @AuraEnabled public static String updateForSIStoOPDButton(String recordId){ Report__c rac = new Report__c(); try { rac.Id = recordId; rac.recordTypeId = Schema.SObjectType.Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_FOLLOW_THE_STAGE).getRecordTypeId(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //DispatchOCSMQARA操作更新相应数据 @AuraEnabled public static String updateForDispatchOCSMQARAButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.Dispatch_OCSM_QARA__c = true; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //OCSM不要报告操作更新相应数据 @AuraEnabled public static String updateForOCSMNoToReportButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.OCSMAdministrativeReportStatus__c = LightingButtonConstant.STATUS_TO_NOT_REPORT; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //取消操作更新相应数据 @AuraEnabled public static String updateForCancelButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.Status__c = LightingButtonConstant.STATUS_CANCEL; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //VOC结果确认更新相应数据 @AuraEnabled public static String updateForVOCConfirmButton(String recordId,String satisfy,String satisfy1){ try { Report__c rac = new Report__c(); rac.Id = recordId; if (satisfy == LightingButtonConstant.CN_YES) { rac.Status__c = LightingButtonConstant.STATUS_VOC_CONFIRMED; } else if (satisfy == LightingButtonConstant.CN_NO) { // 対応結果(一回目)に値なければ、一回目の「否」と見なす if (satisfy1 != LightingButtonConstant.CN_NO) { Report__c[] records = [SELECT Id, VOC_Satisfy__c, VOC_Unsatisfy_Reason__c, VOC_follow_up_result__c, VOC_solution_category__c FROM Report__c WHERE Id = :recordId]; rac.VOC_Satisfy__c = null; rac.VOC_Unsatisfy_Reason__c = null; rac.VOC_follow_up_result__c = null; rac.VOC_solution_category__c = null; rac.VOC_Satisfy1__c= records[0].VOC_Satisfy__c; rac.VOC_Unsatisfy_Reason1__c = records[0].VOC_Unsatisfy_Reason__c; rac.VOC_follow_up_result1__c = records[0].VOC_follow_up_result__c; rac.VOC_solution_category1__c = records[0].VOC_solution_category__c; rac.Status__c = LightingButtonConstant.STATUS_DRAFT; } // 対応結果(一回目)に値あれば、二回目の「否」と見なす else { rac.Status__c = LightingButtonConstant.STATUS_VOC_CONFIRMED; } } update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //VOC回答更新相应数据 @AuraEnabled public static String updateForVOCAnswerButton(String recordId){ try { Report__c rac = [select Status__c from Report__c where Id = :recordId]; rac.Status__c = LightingButtonConstant.STATUS_VOC_END_OF_ANSWER; update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //提交竞争对手报告更新相应数据 @AuraEnabled public static String updateForSubmitCompetitorReportButton(String recordId){ try { Report__c rac = new Report__c(); rac.Id = recordId; rac.Status__c = LightingButtonConstant.STATUS_VOC_APPLYING; rac.Submit_time__c = Datetime.now(); rac.Submit_report_day__c = Date.today(); rac.Date__c = Date.today(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //VOC回答更新相应数据 @AuraEnabled public static String updateForVOCSubmitButton(String recordId ,String createdById){ try { Report__c rac = [select Status__c,JingliApprovalManager__r.Id,BuchangApprovalManager__r.Id,SalesManager__r.Id,BuchangApprovalManagerSales__r.Id,ZongjianApprovalManager__c,Submit_time__c,Submit_report_day__c,Owner.Id from Report__c where Id = :recordId]; // share User[] records = [SELECT Job_Category__c FROM User WHERE Id = :createdById]; List userAccess = new List(); if (records[0].Job_Category__c == LightingButtonConstant.TYPE_OF_SALES_SERVICES) { if(rac.JingliApprovalManager__c != null){ userAccess.add(rac.JingliApprovalManager__c + LightingButtonConstant.USER_ACCESS_READ); rac.VOC_CreatedBy_jingli__c = rac.JingliApprovalManager__c; } if(rac.BuchangApprovalManager__c != null){ userAccess.add(rac.BuchangApprovalManager__c + LightingButtonConstant.USER_ACCESS_READ); rac.VOC_CreatedBy_buzhang__c = rac.BuchangApprovalManager__c; } } else { if(rac.SalesManager__c != null){ userAccess.add(rac.SalesManager__c + LightingButtonConstant.USER_ACCESS_READ); rac.VOC_CreatedBy_jingli__c = rac.SalesManager__c; } if(rac.BuchangApprovalManagerSales__c != null){ userAccess.add(rac.BuchangApprovalManagerSales__c + LightingButtonConstant.USER_ACCESS_READ); rac.VOC_CreatedBy_buzhang__c = rac.BuchangApprovalManagerSales__c; } } if(rac.ZongjianApprovalManager__c != null){ userAccess.add(rac.ZongjianApprovalManager__c + LightingButtonConstant.USER_ACCESS_READ); } String rtn = ControllerUtil.setSObjectShare(LightingButtonConstant.SOBJECT_NAME_OF_REPORT_SHARE,LightingButtonConstant.SOBJECT_NAME_OF_VOC_SHARE,recordId,userAccess,rac.Owner.Id); if (rtn != LightingButtonConstant.OK) { return rtn; } rac.Status__c = LightingButtonConstant.STATUS_VOC_WRITE_OVER; rac.Submit_time__c = Date.today(); rac.Submit_report_day__c = Date.today(); update rac; return null; } catch (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(); } // return e.getDmlMessage(0); } } //VOC判定更新相应数据 @AuraEnabled public static String updateForVOCCheckButton (String recordId,String isVOC,String personId) { try { Report__c rac = [select Owner.Id,VOC_jingli__r.Id,VOC_buzhang__r.Id,VOC_zongjian__r.Id,VOC_Finish__c,VOC_share_date__c,Responsible_Person__r.Id from Report__c where Id = :recordId]; if (isVOC == LightingButtonConstant.VOC_NAME) { // VOC対応者の経理部長総監を設定 User[] records = [SELECT Id, Job_Category__c, JingliApprovalManager__c, SalesManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c FROM User WHERE Id = :personId]; if (records[0].job_Category__c == LightingButtonConstant.TYPE_OF_SALES_SERVICES) { rac.VOC_jingli__c = records[0].JingliApprovalManager__c == null ? null : records[0].JingliApprovalManager__c; rac.VOC_buzhang__c = records[0].BuchangApprovalManager__c == null ? null : records[0].BuchangApprovalManager__c; } else { rac.VOC_jingli__c = records[0].SalesManager__c == null ? null : records[0].SalesManager__c; rac.VOC_buzhang__c = records[0].BuchangApprovalManagerSales__c == null ? null : records[0].BuchangApprovalManagerSales__c; } rac.VOC_zongjian__c = records[0].ZongjianApprovalManager__c == null ? null : records[0].ZongjianApprovalManager__c; rac.Status__c = LightingButtonConstant.STATUS_VOC_CHECK_OVER; rac.VOC_Finish__c = false; Date serverTimestamp = Date.today(); rac.VOC_share_date__c = serverTimestamp; // share List userAccess = new List(); if(rac.Responsible_Person__c != null){ userAccess.add(rac.Responsible_Person__c + LightingButtonConstant.USER_ACCESS_EDIT); } if(rac.VOC_jingli__c != null){ userAccess.add(rac.VOC_jingli__c + LightingButtonConstant.USER_ACCESS_READ); } if(rac.VOC_buzhang__c != null){ userAccess.add(rac.VOC_buzhang__c + LightingButtonConstant.USER_ACCESS_READ); } if(rac.VOC_zongjian__c != null){ userAccess.add(rac.VOC_zongjian__c + LightingButtonConstant.USER_ACCESS_READ); } String rtn = ControllerUtil.setSObjectShare(LightingButtonConstant.SOBJECT_NAME_OF_REPORT_SHARE,LightingButtonConstant.SOBJECT_NAME_OF_VOC_SHARE,recordId,userAccess,rac.Owner.Id); if (rtn != LightingButtonConstant.OK) { return rtn; } update rac; } else { rac.Status__c = LightingButtonConstant.STATUS_VOC_FINISH; rac.VOC_Finish__c = true; update rac; } return null; } catch (Exception e) { return e.getMessage(); } } //VOC完毕操作更新相应数据 @AuraEnabled public static String updateForVOCFinishButton (String recordId) { try { Report__c report = [select Id,Status__C from Report__c where Id = :recordId]; report.Status__c = LightingButtonConstant.STATUS_VOC_FINISH; update report; return null; } catch (Exception e) { // return e.getDmlMessage(0); 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 string getUserIdByName(String name){ User user = null; try { user = [select Id from User where Name =:name]; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return user.Id; } @AuraEnabled public static string getProfileIdByName(String name){ Profile profile = null; try { profile = [select Id from Profile where Name =:name]; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } return profile.Id; } public class InitData{ @AuraEnabled public String status; @AuraEnabled public String isVOC; @AuraEnabled public String personId; @AuraEnabled public String createdById; @AuraEnabled public String ownerId; @AuraEnabled public String satisfy; @AuraEnabled public String satisfy1; @AuraEnabled public String profileId; @AuraEnabled public String theOCSMAdministrativeReportNumber; @AuraEnabled public Date theOCSMAdministrativeReportDate; @AuraEnabled public Date awareDate; @AuraEnabled public String theOCSMAdministrativeReportStatus; @AuraEnabled public Datetime lastModifiedDate; @AuraEnabled public String id; @AuraEnabled public String name; @AuraEnabled public String lastModifiedById; @AuraEnabled public String developerName; @AuraEnabled public String userId; @AuraEnabled public String luShengId; @AuraEnabled public String huDiAnId; @AuraEnabled public String systemProfileId; @AuraEnabled public String raStatus; @AuraEnabled public String productCategory; @AuraEnabled public String hospitalId; @AuraEnabled public String hospital; @AuraEnabled public String strategicDeptId; @AuraEnabled public String strategicDept; @AuraEnabled public String accountId; @AuraEnabled public String account; @AuraEnabled public String rentalApplyId; @AuraEnabled public String consumApplyId; @AuraEnabled public String recordTypeId; @AuraEnabled public String recordTypeId1; @AuraEnabled public Date assetReturnDay2; @AuraEnabled public String followUPOpp; @AuraEnabled public String demoPurpose2; @AuraEnabled public String opdPlan; @AuraEnabled public Date datec; @AuraEnabled public String practitioner1; } }