public with sharing class QISReportController { // Final universal code编辑 @AuraEnabled public static InitData initForQisUniversalFailureCodeButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static InitData sqlForPAE (String qisReportId){ InitData res = new initData(); String recordTypeId = LightingButtonConstant.DEVELOPER_NAME_ASAC_DECISION; try{ PAE_DecisionRecord__c RCPAEDIdList = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_QIS__c = :qisReportId And RecordType.DeveloperName = :recordTypeId limit 1]; res.pAEid = RCPAEDIdList.id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //Intake universal code编辑 @AuraEnabled public static InitData initForlexQISIntakeuniversalcodeButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static InitData sqlForPAE1 (String qisReportId){ InitData res = new initData(); String recordTypeId = LightingButtonConstant.DEVELOPER_NAME_ASRC_DECISION; try{ PAE_DecisionRecord__c ASRCDIdList = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_QIS__c = :qisReportId And RecordType.DeveloperName = :recordTypeId Limit 1]; res.pAEid = ASRCDIdList.id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } //OSH现品收到 @AuraEnabled public static InitData initForOSHRecievedButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.QIStatus = report.QIS_Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQis (String recordId){ String re = '成功'; try{ ID myUserID = UserInfo.getUserId(); User tempUser = [select id,Alias,Email from user where id = : myUserID ]; QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_OSH_TESTING; rac.OSHRecievedDate__c = Date.today(); rac.OSH_Receive_staff__c = tempUser.Alias; rac.OSH_staff__c = tempUser.Alias; rac.OSH_staff_email__c = tempUser.email; rac.Is_ProductGot__c = true; rac.OSH_GotProductPeople__c = tempUser.id; User resultSet = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :myUserID]; if (resultSet!=null && resultSet.JingliApprovalManager__c != null && resultSet.BuchangApprovalManager__c != null ) { rac.OSH_Manager__c = resultSet.JingliApprovalManager__c; rac.OSH_Buzhang__c = resultSet.BuchangApprovalManager__c; }else{ rac.OSH_Manager__c= myUserID; rac.OSH_Buzhang__c= myUserID; } Oly_TriggerHandler.bypass('QIS_ReportTrigger'); update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //提交待审批1 @AuraEnabled public static InitData initForOSHSubmitButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id,QIS_Status__c,OSH_staff__c,OSH_staff_email__c //WYL 贸易合规2期 add start ,Hospital__r.TradeComplianceStatus__c,nonyushohin__r.Product2.USRatio_US_OUT10__c, nonyushohin__r.Product2.CountryOfOrigin__c,nonyushohin__r.Product2.ProTradeComplianceStatus__c, nonyushohin__r.Product2.Asset_Model_No__c,Hospital__r.name,OSH_Affirmant__r.Email,OwnerId //WYL 贸易合规2期 add end FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.QIStatus = report.QIS_Status__c; res.OSHstaff = report.OSH_staff__c; res.OSHstaffEmail = report.OSH_staff_email__c; // WYl 贸易合规2期 start res.hosTradeComplianceStatus = report.Hospital__r.TradeComplianceStatus__c; res.ProductCompliance = report.nonyushohin__r.Product2.ProTradeComplianceStatus__c ; res.HospitalN = report.Hospital__r.name; res.state = report.Hospital__r.TradeComplianceStatus__c; res.Asset_Model_No = report.nonyushohin__r.Product2.Asset_Model_No__c; res.userEmail = report.QIS_Authenticator__r.Email; res.OwnerEmail = report.OwnerId; // WYl 贸易合规2期 end System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQis1 (String recordId){ String re = '成功'; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_OSH_COMPLATED; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //提交待审批 @AuraEnabled public static InitData initForRCSubmitButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id,RC_problem_not_found__c,QIS_Reply_day__c,RC_inspection_date__c,QIS_Status__c,Cancel_QIS_Reason__c,OSH_staff__c,OSH_staff_email__c,RC__c //WYL 贸易合规2期 add start ,Hospital__r.TradeComplianceStatus__c,nonyushohin__r.Product2.USRatio_US_OUT10__c, nonyushohin__r.Product2.CountryOfOrigin__c,nonyushohin__r.Product2.ProTradeComplianceStatus__c, Hospital__r.name,nonyushohin__r.Product2.Asset_Model_No__c,QIS_Authenticator__r.Email,OwnerId //WYL 贸易合规2期 add end FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.QIStatus = report.QIS_Status__c; res.OSHstaff = report.OSH_staff__c; res.OSHstaffEmail = report.OSH_staff_email__c; res.CancelQISReason = report.Cancel_QIS_Reason__c; res.RCid = report.RC__c; res.RCinspectionDate = report.RC_inspection_date__c; res.QISReplyDay = report.QIS_Reply_day__c; res.RCproblemnotfound = report.RC_problem_not_found__c; // WYl 贸易合规2期 start res.hosTradeComplianceStatus = report.Hospital__r.TradeComplianceStatus__c; res.ProductCompliance = report.nonyushohin__r.Product2.ProTradeComplianceStatus__c ; res.HospitalN = report.Hospital__r.name; res.Asset_Model_No = report.nonyushohin__r.Product2.Asset_Model_No__c; res.userEmail = report.QIS_Authenticator__r.Email; res.OwnerEmail = report.OwnerId; // WYl 贸易合规2期 end System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisWithRC (String recordId,String type,String oldQIStatus){ String re = '成功'; ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c, BuchangApprovalManagerSales__c, SalesManager__c FROM User WHERE Id = :myUserID LIMIT 1]; QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; if (type == '1') { QIS_Report__c report1 = [SELECT id,RC_problem_not_found__c,RC_FixedJudgement__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_RC_COMPLATED; if (report1.RC_problem_not_found__c == true && report1.RC_FixedJudgement__c == false) { QIS_Report__c qisreport = [SELECT Id, Reason_bloken__c, Special_follow__c, next_action__c, QIS_Reply_Comment__c, OCM_judgement__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; if (qisreport != null) { rac.Reason_bloken1__c = qisreport.Reason_bloken__c; rac.Special_follow1__c = qisreport.Special_follow__c; rac.next_action1__c = qisreport.next_action__c; rac.QIS_Reply_Comment1__c = qisreport.QIS_Reply_Comment__c; rac.OCM_judgement1__c = qisreport.OCM_judgement__c; } } } if (type == '2') { rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_CANCEL; rac.QIS_Cancel_Submit_day__c = Date.today(); } try{ if (userinfo!=null && userinfo.BuchangApprovalManagerSales__c != null) { rac.RC_Manager__c = userinfo.BuchangApprovalManagerSales__c; }else{ rac.RC_Manager__c = myUserID; } if (userinfo!=null) { if (oldQIStatus == LightingButtonConstant.STATUS_QIS_RC_CHECKING) { rac.RC__c = myUserID; } if (userinfo.SalesManager__c != null ) { rac.ApproveManager__c = userinfo.SalesManager__c; }else{ rac.ApproveManager__c = myUserID; } if (userinfo.BuchangApprovalManagerSales__c != null ) { rac.ApproveBuZhang__c = userinfo.BuchangApprovalManagerSales__c ; }else{ rac.ApproveBuZhang__c = myUserID; } if (userinfo.ZongjianApprovalManager__c != null ) { rac.AppeoveZongJian__c = userinfo.ZongjianApprovalManager__c ; }else{ rac.AppeoveZongJian__c = myUserID; } } update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // 提交 @AuraEnabled public static InitData initForOCMSubmitButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id,is_aohui_product__c,QIS_Status__c,OCM_Manager_Mail_F__c,QISInstallDate__c,contract_number__c //WYL 贸易合规2期 add start ,Hospital__r.TradeComplianceStatus__c,nonyushohin__r.Product2.USRatio_US_OUT10__c, nonyushohin__r.Product2.CountryOfOrigin__c,nonyushohin__r.Product2.ProTradeComplianceStatus__c, nonyushohin__r.Product2.Asset_Model_No__c,Hospital__r.name //WYL 贸易合规2期 add end FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.QIStatus = report.QIS_Status__c; res.QISInstallDate = report.QISInstallDate__c; res.contractnumber = report.contract_number__c; res.isaohuiproduct = report.is_aohui_product__c; // WYl 贸易合规2期 start res.hosTradeComplianceStatus = report.Hospital__r.TradeComplianceStatus__c; res.ProductCompliance = report.nonyushohin__r.Product2.ProTradeComplianceStatus__c ; res.HospitalN = report.Hospital__r.name; res.state = report.Hospital__r.TradeComplianceStatus__c; res.Asset_Model_No = report.nonyushohin__r.Product2.Asset_Model_No__c; // WYl 贸易合规2期 end System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisWithOCM (String recordId){ String re = '成功'; QIS_Report__c report = [SELECT id,QIS_Status__c,QISInstallDate__c,contract_number__c,OCM_Manager_Mail_F__c ,OCM_Member_Mail_F__c,OCM_Repair_Mail_F__c,OCM_Repair_Mail1_F__c,FSE_Special_Mail_F__c,FSE_Special_Manager_Mail_F__c ,WorkLocation_CC_Mail_F__c,is_aohui_product__c,QuolityApproveResult__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_FSE_COMPLATED; rac.OCM_Manager_Mail__c = report.OCM_Manager_Mail_F__c; rac.OCM_Member_Mail__c = report.OCM_Member_Mail_F__c; rac.OCM_Repair_Mail__c = report.OCM_Repair_Mail_F__c; rac.OCM_Repair_Mail1__c = report.OCM_Repair_Mail1_F__c; rac.FSE_Special_Mail__c = report.FSE_Special_Mail_F__c; rac.FSE_Special_Manager_Mail__c = report.FSE_Special_Manager_Mail_F__c; rac.WorkLocation_CC_Mail__c = report.WorkLocation_CC_Mail_F__c; rac.Cancel_QIS_Reason__c = null; if (report.is_aohui_product__c == true) { rac.OCM_judgement__c = '质量问题'; rac.next_action__c = '无偿维修'; rac.RecordTypeId = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_OSH).getRecordTypeId(); rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_OSH_TESTING_APP; } if (report.QuolityApproveResult__c == null || report.QuolityApproveResult__c == '') { rac.QuolityApproveResult__c = '3.已审核,一般质量问题'; } update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // QIS结果跟进完毕 @AuraEnabled public static InitData initForQisAgreeButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id ,OwnerId FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.ownerId = report.OwnerId; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForQisAgree (String recordId){ String re = '成功'; ID myUserID = UserInfo.getUserId(); String answerComp = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_OSH_FINASH).getRecordTypeId(); String fina = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_FINAL).getRecordTypeId(); String comp = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_COMP).getRecordTypeId(); // RecordType rectyp = [SELECT id ,name FROM RecordType where id = '01210000000gFTH']; QIS_Report__c report = [SELECT id,OwnerId,RecordTypeId FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; try{ if (report.ownerid == myUserID) { QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = LightingButtonConstant.STATUS_QIS_COMPLATED; if (report.RecordTypeId == answerComp) { rac.RecordTypeId = fina; }else{ rac.RecordTypeId = comp; } rac.QIS_Complete_Day__c = Date.today(); update rac; } }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //OCSM服务本部CDS完毕 @AuraEnabled public static InitData initForRCCDScompleteButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id ,CDS_date__c,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.cdsdate = report.CDS_date__c; res.QIStatus = report.QIS_Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForRCCDScomplete (String recordId){ String re = '成功'; ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Alias__c FROM User WHERE Id = :myUserID LIMIT 1]; QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.CDS_date__c = Date.today(); rac.RC_CDS_staff__c = userinfo.Alias__c; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //OCSM不要报告 @AuraEnabled public static InitData initForlexOCSMNoToReportLightingButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id ,OCSMAdministrativeReportNumber__c,OCSMAdministrativeReportDate__c,Aware_date__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.oCSMAdministrativeReportNumber = report.OCSMAdministrativeReportNumber__c; res.oCSMAdministrativeReportDate = report.OCSMAdministrativeReportDate__c; res.Awaredate = report.Aware_date__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForlexOCSMNoToReportLighting (String recordId){ String re = '成功'; QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.OCSMAdministrativeReportStatus__c = '无需报告'; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //OCSM要报告 @AuraEnabled public static InitData initForlexOCSMToReportLightingButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id ,OCSMAdministrativeReportStatus__c,Aware_date__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.oCSMAdministrativeReportStatus = report.OCSMAdministrativeReportStatus__c; res.Awaredate = report.Aware_date__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForlexOCSMToReportLighting (String recordId){ String re = '成功'; QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.OCSMAdministrativeReportStatus__c = '待报告'; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } //发送QIS到SPO @AuraEnabled public static InitData initForlexSendQISButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id ,RecordTypeId,IsSendQIS__c //WYL 贸易合规2期 add start ,Hospital__r.TradeComplianceStatus__c,nonyushohin__r.Product2.USRatio_US_OUT10__c, nonyushohin__r.Product2.CountryOfOrigin__c,nonyushohin__r.Product2.ProTradeComplianceStatus__c, nonyushohin__r.Product2.Asset_Model_No__c,Hospital__r.name,OSH_Affirmant__r.Email,OwnerId //WYL 贸易合规2期 add end FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; RecordType rec = [SELECT id,name FROM RecordType where Id = :report.RecordTypeId]; res.Id = report.Id; res.qisRecordTypeId = report.RecordTypeId; res.qisRecordName = rec.name; res.profileName = userinfo.Profile.name; res.IsSendQIS = report.IsSendQIS__c; // WYl 贸易合规2期 start res.hosTradeComplianceStatus = report.Hospital__r.TradeComplianceStatus__c; res.ProductCompliance = report.nonyushohin__r.Product2.ProTradeComplianceStatus__c; res.HospitalN = report.Hospital__r.name; res.state = report.Hospital__r.TradeComplianceStatus__c; res.Asset_Model_No = report.nonyushohin__r.Product2.Asset_Model_No__c; User usermail = [select Email from user where id =:System.Label.chensijia]; res.userEmail = usermail.Email; res.OwnerEmail = report.OwnerId; // WYl 贸易合规2期 end System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForSendQIS (String recordId){ String re = '成功'; QIS_Report__c report = [SELECT Id,Name,IsSendQIS__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; if(report == null ){ return '没有QIS:' + recordId + '的数据。'; } Savepoint sp = Database.setSavepoint(); try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.IsSendQIS__c = true; update rac; }catch(Exception e){ Database.rollback(sp); System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // OCSM服务本部收到实物 @AuraEnabled public static InitData initForlexRCRecievedButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id ,isAE_Profile__c,QIS_Status__c,isPAE_Profile__c,is_CNBuy__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.isAEProfile = report.isAE_Profile__c; res.isPAEProfile = report.isPAE_Profile__c; res.QIStatus = report.QIS_Status__c; res.isCNBuy = report.is_CNBuy__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForRCRecieved (String recordId){ String re = '成功'; ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Alias,BuchangApprovalManagerSales__c,JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = 'RC检测中'; rac.OCM_RC_RecievedDate__c = Date.today(); rac.RC__c = myUserID; rac.RC_Receive_staff__c = userinfo.Alias; system.debug('rac.RC_Receive_staff__c='+userinfo.Alias); if (userinfo != null && userinfo.BuchangApprovalManagerSales__c!= null) { rac.RC_Manager__c = userinfo.BuchangApprovalManagerSales__c; } else { rac.RC_Manager__c = myUserID; } update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // QIS市场部意见 @AuraEnabled public static InitData initForlexQISSCButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id,name,QIS_SC_Report__c,QIS_SC_Id__c,next_action__c,QIS_Market_Category__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.name = report.name; res.profileName = userinfo.Profile.name; res.qISSCId = report.QIS_SC_Id__c; res.qISSCReport = report.QIS_SC_Report__c; res.nextaction = report.next_action__c; res.qISMarketCategory = report.QIS_Market_Category__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // 新建修理 @AuraEnabled public static InitData initForlexCreateRepairButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); List RecordTypeList = [select id,name from RecordType where name = '2.OCSM' or name = '1.FSE' or name = '戦略科室分類 消化科' or name = '戦略科室分類 消化科' or name = '戦略科室分類 呼吸科' or name = '戦略科室分類ET' or name = '戦略科室分類 普外科' or name = '戦略科室分類 泌尿科' or name = '戦略科室分類 耳鼻喉科' or name = '戦略科室分類 婦人科' or name = '戦略科室分類 その他']; User userinfo = [SELECT id,RepairSalesPoint_Province_China__c FROM User WHERE Id = :myUserID LIMIT 1]; QIS_Report__c report = [SELECT id,Owner.name,FailureQInHospital__c,InformationFrom__c,Delay15Min__c, AfterFailureInformation__c,Set_usage_product__c,BreakORFallOff__c,Opera_Name__c, Which_Project__c,Report_For_Goz__c,Relation_With_The_Problem__c,Damage_For_Doc_Or_Pat__c, Trable_occur_daY_collect__c,source_for_repair__c,Faliour_date__c,OwnerId,nonyushohin__c,nonyushohin__r.name, Hospital_Department__c,Hospital_Department__r.name,Department_Class__c,Department_Class__r.name,Hospital__c,Hospital__r.name,name,Source_OnCall__c,Source_OnCall__r.name, failuer_situation__c,Comment__c,Is_Used_For_The_Opera__c,RecordType_ID__c, OCM_judgement__c,next_action__c,Special_follow__c //WYL 贸易合规2期 add start ,Hospital__r.TradeComplianceStatus__c,nonyushohin__r.Product2.USRatio_US_OUT10__c, nonyushohin__r.Product2.CountryOfOrigin__c,nonyushohin__r.Product2.ProTradeComplianceStatus__c, nonyushohin__r.Product2.Asset_Model_No__c,QIS_Authenticator__r.Email //WYL 贸易合规2期 add end FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; List acc = [SELECT id,ParentId,Parent.RecordTypeId, Parent.Parent.FSE_GI_Main_Leader__c,Parent.Parent.FSE_SP_Main_Leader__c, Parent.Parent.FSE_GI_Main_Leader__r.Work_Location__c, Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c FROM Account WHERE id = :report.Hospital_Department__c limit 1]; try{ for (RecordType rec :RecordTypeList) { if (rec.name == '1.FSE') { res.oneFSE = rec.id.to15(); } if (rec.name == '2.OCSM') { res.twoOCSM = rec.id.to15(); } if (rec.name == '戦略科室分類 消化科') { res.xiaohua = rec.id.to15(); } if (rec.name == '戦略科室分類 呼吸科') { res.huxi = rec.id.to15(); } if (rec.name == '戦略科室分類ET') { res.eT = rec.id.to15(); } if (rec.name == '戦略科室分類 普外科') { res.puwai = rec.id.to15(); } if (rec.name == '戦略科室分類 泌尿科') { res.miniao = rec.id.to15(); } if (rec.name == '戦略科室分類 耳鼻喉科') { res.erbihou = rec.id.to15(); } if (rec.name == '戦略科室分類 婦人科') { res.fuke = rec.id.to15(); } if (rec.name == '戦略科室分類 その他') { res.qita = rec.id.to15(); } } // WYl 贸易合规2期 start res.hosTradeComplianceStatus = report.Hospital__r.TradeComplianceStatus__c; res.ProductCompliance = report.nonyushohin__r.Product2.ProTradeComplianceStatus__c ; res.state = report.Hospital__r.TradeComplianceStatus__c; res.Asset_Model_No = report.nonyushohin__r.Product2.Asset_Model_No__c; res.userEmail = report.QIS_Authenticator__r.Email; res.HospitalN = report.Hospital__r.name; res.OwnerEmail = report.OwnerId; System.debug('HospitalN==>'+ res.HospitalN +'===>'+report.Hospital__r.name); // WYl 贸易合规2期 end res.Id = report.Id; res.qisRecordTypeId = report.RecordType_ID__c; res.oCMjudgement = report.OCM_judgement__c; res.nextaction = report.next_action__c; res.comment = report.Comment__c; res.sourceOnCall = report.Source_OnCall__c; res.sourceOnCallname = report.Source_OnCall__r.name; res.name = report.name; res.hospitalId = report.Hospital__c; res.hospitalname = report.Hospital__r.name; res.departmentClassId = report.Department_Class__c; res.departmentClassname = report.Department_Class__r.name; res.hospitalDepartment = report.Hospital_Department__c; res.hospitalDepartmentname = report.Hospital_Department__r.name; res.nonyushohinId = report.nonyushohin__c; res.nonyushohinIdname = report.nonyushohin__r.name; res.ownerId = report.OwnerId; res.faliourdate = report.Faliour_date__c; res.sourceforrepair = report.source_for_repair__c; res.repairSalesPointProvinceChina = userinfo.RepairSalesPoint_Province_China__c; res.trableoccurdaYcollect = report.Trable_occur_daY_collect__c; res.damageForDocOrPat = report.Damage_For_Doc_Or_Pat__c; res.relationWithTheProblem = report.Relation_With_The_Problem__c; res.reportForGoz = report.Report_For_Goz__c; res.whichProject = report.Which_Project__c; res.operaName = report.Opera_Name__c; res.breakORFallOff = report.BreakORFallOff__c; res.setusageproduct = report.Set_usage_product__c; res.afterFailureInformation = report.AfterFailureInformation__c; res.delay15Min = report.Delay15Min__c; res.informationFrom = report.InformationFrom__c; res.failureQInHospital = report.FailureQInHospital__c; res.ownername = report.Owner.name; res.failuerSituation = report.failuer_situation__c; res.isUsedForTheOpera = report.Is_Used_For_The_Opera__c; res.specialfollow = report.Special_follow__c; if (acc[0] != null) { res.accParentId = acc[0].ParentId; res.accParentRecordTypeId = acc[0].Parent.RecordTypeId; res.accParentParentFSEGIMainLeader = acc[0].Parent.Parent.FSE_GI_Main_Leader__c; res.accParentParentFSEGIMainLeaderWorkLocation = acc[0].Parent.Parent.FSE_GI_Main_Leader__r.Work_Location__c; res.accParentParentFSESPMainLeader = acc[0].Parent.Parent.FSE_SP_Main_Leader__c; res.accParentParentFSESPMainLeaderWorkLocation = acc[0].Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c; } System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // PDF(QIS申请书) @AuraEnabled public static InitData initForlexPDFQISrequestButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // OCSM服务本部检测完毕 @AuraEnabled public static InitData initForlexRCinspectioncompletedateButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id ,RC_inspection_date__c,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.rCinspectionDate = report.RC_inspection_date__c; res.QIStatus = report.QIS_Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForRCinspectioncompletedate (String recordId){ String re = '成功'; ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Alias FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.RC_inspection_date__c = Date.today(); rac.RC__c = myUserID; rac.RC_Inspection_staff__c = userinfo.Alias; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // OSH检查受理 @AuraEnabled public static InitData initForlexOSHInspectButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id ,OSHInspectionDate__c,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.oSHInspectionDate = report.OSHInspectionDate__c; res.QIStatus = report.QIS_Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updateQisForlexOSHInspect (String recordId){ String re = '成功'; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.OSHInspectionDate__c = Date.today(); update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // 复制1 @AuraEnabled public static InitData initForlexcopyQISButton (String recordId){ InitData res = new initData(); try{ QIS_Report__c report = [SELECT id,Name,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.name = report.Name; res.qIStatus = report.QIS_Status__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // OCSM无实物送达 @AuraEnabled public static InitData initForlexOCSMNogoodsButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c report = [SELECT id ,QIS_Status__c,isAE_Profile__c,is_CNBuy__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; res.Id = report.Id; res.isAEProfile = report.isAE_Profile__c; res.QIStatus = report.QIS_Status__c; res.isCNBuy = report.is_CNBuy__c; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } @AuraEnabled public static String updatelexOCSMNogoods (String recordId){ String re = '成功'; ID myUserID = UserInfo.getUserId(); User userinfo = [SELECT Id,Alias__c,Alias, BuchangApprovalManagerSales__c,JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :myUserID LIMIT 1]; try{ QIS_Report__c rac = new QIS_Report__c(); rac.id = recordId; rac.QIS_Status__c = 'RC检测中'; rac.OCM_RC_RecievedDate__c = Date.today(); rac.RC__c = myUserID; if (userinfo != null) { rac.RC_Receive_staff__c = userinfo.Alias; } if (userinfo != null && userinfo.BuchangApprovalManagerSales__c !=null) { rac.RC_Manager__c = userinfo.BuchangApprovalManagerSales__c; }else{ rac.RC_Manager__c = myUserID; } rac.CDS_date__c = Date.today(); rac.RC_CDS_staff__c = userinfo.Alias__c; rac.OCSM_Nogoods__c = true; update rac; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); if (e.getMessage().contains(':')){ String eMessage = e.getMessage(); Integer left = eMessage .indexof(',')+1 ; Integer right = eMessage.indexof('[')-2; re = eMessage.substring(left,right); }else { re = e.getMessage(); } } return re; } // 新建QIS @AuraEnabled public static InitData initForlexCreateQISFromAssetButton (String recordId){ InitData res = new initData(); ID myUserID = UserInfo.getUserId(); Asset ass = [SELECT id,AssetMark__c FROM Asset WHERE Id = :recordId LIMIT 1]; try{ Date fomatToday = Date.today().addDays(-10); QIS_Report__c report = [SELECT id,QIS_Submit_day__c FROM QIS_Report__c WHERE nonyushohin__c=:recordId and QIS_Submit_day__c != null and QIS_Submit_day__c >= :fomatToday]; Repair__c rep = [SELECT id,Name FROM Repair__c WHERE Delivered_Product__c = :recordId and Status2__c!='00.删除' and Status2__c!='00.取消' and FSE_ApplyForRepair_Day__c >= :fomatToday order by FSE_ApplyForRepair_Day__c desc limit 1]; res.Id = report.id; res.repId = rep.id; System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } public class InitData{ @AuraEnabled public String Id; @AuraEnabled public String repId; @AuraEnabled public String qISSCReport; @AuraEnabled public String name; @AuraEnabled public String qISSCId; @AuraEnabled public String accParentId; @AuraEnabled public String accParentRecordTypeId; @AuraEnabled public String accParentParentFSEGIMainLeader; @AuraEnabled public String accParentParentFSEGIMainLeaderWorkLocation; @AuraEnabled public String accParentParentFSESPMainLeader; @AuraEnabled public String accParentParentFSESPMainLeaderWorkLocation; @AuraEnabled public String oCMjudgement; @AuraEnabled public String comment; @AuraEnabled public String isUsedForTheOpera; @AuraEnabled public String failuerSituation; @AuraEnabled public ID sourceOnCall; @AuraEnabled public String sourceOnCallname; @AuraEnabled public ID hospitalId; @AuraEnabled public String hospitalname; @AuraEnabled public ID departmentClassId; @AuraEnabled public String departmentClassname; @AuraEnabled public ID hospitalDepartment; @AuraEnabled public String hospitalDepartmentname; @AuraEnabled public ID nonyushohinId; @AuraEnabled public String nonyushohinIdname; @AuraEnabled public String sourceforrepair; @AuraEnabled public String repairSalesPointProvinceChina; @AuraEnabled public String damageForDocOrPat; @AuraEnabled public String relationWithTheProblem; @AuraEnabled public String reportForGoz; @AuraEnabled public String whichProject; @AuraEnabled public String operaName; @AuraEnabled public String breakORFallOff; @AuraEnabled public String setusageproduct; @AuraEnabled public String afterFailureInformation; @AuraEnabled public String delay15Min; @AuraEnabled public String informationFrom; @AuraEnabled public String failureQInHospital; @AuraEnabled public ID ownerId; @AuraEnabled public String ownername; @AuraEnabled public String qisRecordTypeId; @AuraEnabled public String qisRecordName; @AuraEnabled public String nextaction; @AuraEnabled public String qISMarketCategory; @AuraEnabled public String profileName; @AuraEnabled public String isAEProfile; @AuraEnabled public String isPAEProfile; @AuraEnabled public String isCNBuy; @AuraEnabled public String pAEid; @AuraEnabled public String oCSMAdministrativeReportNumber; @AuraEnabled public String oCSMAdministrativeReportStatus; @AuraEnabled public String qIStatus; @AuraEnabled public String oSHstaff; @AuraEnabled public String oSHstaffEmail; @AuraEnabled public String cancelQISReason; @AuraEnabled public String rCid; @AuraEnabled public String contractnumber; @AuraEnabled public String oneFSE; @AuraEnabled public String twoOCSM; @AuraEnabled public String huxi; @AuraEnabled public String xiaohua; @AuraEnabled public String eT; @AuraEnabled public String puwai; @AuraEnabled public String miniao; @AuraEnabled public String erbihou; @AuraEnabled public String fuke; @AuraEnabled public String qita; @AuraEnabled public Date rCinspectionDate; @AuraEnabled public Date qISReplyDay; @AuraEnabled public Date qISInstallDate; @AuraEnabled public Date oSHInspectionDate; @AuraEnabled public Date faliourdate; @AuraEnabled public Date trableoccurdaYcollect; @AuraEnabled public Date cdsdate; @AuraEnabled public Date awaredate; @AuraEnabled public Date oCSMAdministrativeReportDate; @AuraEnabled public Boolean rCproblemnotfound; @AuraEnabled public Boolean isaohuiproduct; @AuraEnabled public Boolean isSendQIS; @AuraEnabled public Boolean specialfollow; //WYL 贸易合规2期 start @AuraEnabled public String hosTradeComplianceStatus; @AuraEnabled public String ProductCompliance; @AuraEnabled public String HospitalN; @AuraEnabled public String Asset_Model_No; @AuraEnabled public String state; @AuraEnabled public String userEmail; @AuraEnabled public String OwnerEmail; //WYL 贸易合规2期 end } public QISReportController(){} }