public with sharing class otherButtonRepairController { public otherButtonRepairController() { } @AuraEnabled public static InitData init(String recordId){ InitData res = new initData(); try{ Repair__c report = [SELECT Status1__c,Rental_Apply_Equipment_Set_Detail__c,Rental_Apply_Equipment_Set_Detail_Id__c,Latest_Collect_Date_Priority__c,if_Rental_Apply__c,Offer_Rental_New__c,ProduceCompany_hand__c,CFDA_No_Hand__c,MBC_AwareDate__c,InsReport__c,QIS_ID__c,On_Call_ID__c,RepairSubOrder__c,ProductFailureRelated__c,Delay15Min__c,ProblemOccurredSelect__c,Repair_Source__c ,Failure_Occurrence_Date__c ,MaintenanceContractType__c ,OperationOrExaminationName__c ,WhatProject__c ,FailureQInHospital__c ,ReportAdverseEvents__c ,InformationFrom__c ,AfterFailureInformation__c ,ProblemOccurred__c ,SupportingProducts__c ,ifDeadHurt__c ,UseFailProductFinish__c ,DelayReportReason__c ,BreakORFallOff__c ,DateReceiptQuestions__c ,DeliveryLogisticsAnnotation__c ,DeliveryLogisticsNo__c ,engineerSendDate__c ,DeliveryLogisticsMode__c ,RepairApplicantDepartment__c ,RepairApplicantHospital__c ,RepairApplicant__c ,Repair_Detail__c ,Returns_Product_way__c ,work_location_select__c ,On_site_repair__c ,SalesOfficeCode_selection__c ,Incharge_Staff_Contact__c ,Incharge_Staff__c ,Dealer__c ,RepairCostType__c ,Account__c,Department_Class__c ,Hospital__c ,PaperRepairRequestNo__c ,part_arrangement_complete__c,Repair_Shipped_Date__c,OCSMAdministrativeReportStatus__c,Incharge_Staff_Email__c,Name,HP_Name__c,Delivered_Product__c, Repair_Product_Serial_No__c,Service_Repair_No__c,Repair_Firstestimated_Date__c, Repair_Estimated_Date__c,RC_information__c,Id,OCSMAdministrativeReportNumber__c, OCSMAdministrativeReportDate__c,Aware_date__c,PAE_Determine__c,ETQ_UPLOAD_STATUS__c, AE_DetermineResult__c,PAE_DetermineAC__c,Repair_Inspection_Date__c,Contain_UseRSA__c FROM Repair__c WHERE Id =: recordId LIMIT 1]; System.debug(LoggingLevel.INFO, '*** opp: ' + report); res.Status1C = report.Status1__c; res.ProblemOccurredSelectC = report.ProblemOccurredSelect__c; res.Delay15MinC = report.Delay15Min__c; res.ProductFailureRelatedC = report.ProductFailureRelated__c; res.RepairSubOrderC = report.RepairSubOrder__c; res.OnCallIDC = report.On_Call_ID__c; res.QISIDC = report.QIS_ID__c; res.InsReportC = report.InsReport__c; res.MBCAwareDateC = report.MBC_AwareDate__c; res.CFDANoHandC = report.CFDA_No_Hand__c; res.ProduceCompanyHandC = report.ProduceCompany_hand__c; res.OfferRentalNewC = report.Offer_Rental_New__c; res.ifRentalApplyC = report.if_Rental_Apply__c; res.LatestCollectDatePriorityC = report.Latest_Collect_Date_Priority__c; res.RentalApplyEquipmentSetDetailIdC = report.Rental_Apply_Equipment_Set_Detail_Id__c; res.RentalApplyEquipmentSetDetailC = report.Rental_Apply_Equipment_Set_Detail__c; res.PaperRepairRequestNoC = report.PaperRepairRequestNo__c; res.HospitalC = report.Hospital__c; res.DepartmentClassC = report.Department_Class__c; res.AccountC = report.Account__c; res.RepairCostTypeC = report.RepairCostType__c; res.DealerC = report.Dealer__c ; res.InchargeStaffC = report.Incharge_Staff__c ; res.InchargeStaffContactC = report.Incharge_Staff_Contact__c ; res.SalesOfficeCodeSelectionC = report.SalesOfficeCode_selection__c ; res.OnSiteRepairC = report.On_site_repair__c ; res.workLocationSelectC = report.work_location_select__c ; res.ReturnsProductWayC = report.Returns_Product_way__c ; res.RepairDetailC = report.Repair_Detail__c ; res.RepairApplicantC = report.RepairApplicant__c ; res.RepairApplicantHospitalC = report.RepairApplicantHospital__c ; res.RepairApplicantDepartmentC = report.RepairApplicantDepartment__c ; res.DeliveryLogisticsModeC = report.DeliveryLogisticsMode__c ; res.engineerSendDateC = report.engineerSendDate__c ; res.DeliveryLogisticsNoC = report.DeliveryLogisticsNo__c ; res.DeliveryLogisticsAnnotationC = report.DeliveryLogisticsAnnotation__c ; res.DateReceiptQuestionsC = report.DateReceiptQuestions__c ; res.BreakORFallOffC = report.BreakORFallOff__c ; res.DelayReportReasonC = report.DelayReportReason__c ; res.UseFailProductFinishC = report.UseFailProductFinish__c ; res.ifDeadHurtC = report.ifDeadHurt__c ; res.SupportingProductsC = report.SupportingProducts__c ; res.ProblemOccurredC = report.ProblemOccurred__c ; res.AfterFailureInformationC = report.AfterFailureInformation__c ; res.InformationFromC = report.InformationFrom__c ; res.ReportAdverseEventsC = report.ReportAdverseEvents__c ; res.FailureQInHospitalC = report.FailureQInHospital__c ; res.WhatProjectC = report.WhatProject__c ; res.OperationOrExaminationNameC = report.OperationOrExaminationName__c ; res.MaintenanceContractTypeC = report.MaintenanceContractType__c ; res.FailureOccurrenceDateC = report.Failure_Occurrence_Date__c ; res.RepairSourceC = report.Repair_Source__c ; res.Id = report.Id; res.partArrangementCompleteC = report.part_arrangement_complete__c; res.RepairShippedDateC = report.Repair_Shipped_Date__c; res.OCSMAdministrativeReportNumberC = report.OCSMAdministrativeReportNumber__c; res.OCSMAdministrativeReportDateC = report.OCSMAdministrativeReportDate__c; res.AwareDateC = report.Aware_date__c; res.PAEDetermineC = report.PAE_Determine__c; res.ETQUPLOADSTATUSC = report.ETQ_UPLOAD_STATUS__c; res.AEDetermineResultC = report.AE_DetermineResult__c; res.PAEDetermineACC = report.PAE_DetermineAC__c; res.RepairInspectionDateC = report.Repair_Inspection_Date__c; res.ContainUseRSAC = report.Contain_UseRSA__c; res.InchargeStaffEmailC = report.Incharge_Staff_Email__c; res.Name = report.Name; res.HPNameC = report.HP_Name__c; res.DeliveredProductC = report.Delivered_Product__c; res.RepairProductSerialNoC = report.Repair_Product_Serial_No__c; res.ServiceRepairNoC = report.Service_Repair_No__c; res.RepairFirstestimatedDateC = report.Repair_Firstestimated_Date__c; res.RepairEstimatedDateC = report.Repair_Estimated_Date__c; res.RCInformationC = report.RC_information__c; res.OCSMAdministrativeReportStatusC = report.OCSMAdministrativeReportStatus__c; res.userID = UserInfo.getUserId(); res.profileId = UserInfo.getProfileId(); res.userEmail = UserInfo.getUserEmail(); System.debug(LoggingLevel.INFO, '*** res: ' + res); }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // 根据ID查找修理表 @AuraEnabled public static List selectRecords(String recordId){ List res = new List(); try{ res = [SELECT Id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c FROM Repair__c WHERE id =: recordId ]; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // 根据ID修改修理 @AuraEnabled public static void updateRepair(String recordId){ try { Repair__c repair = new Repair__c(); repair.Id = recordid; repair.OCSMAdministrativeReportStatus__c = '无需报告'; update repair; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); } } // 修改验收单 @AuraEnabled public static String updateYanshoudan(String recordId){ String res; try { Repair__c repair = new Repair__c(); repair.Id = recordid; repair.Request_yanshoudan_PDF__c = true; repair.Facility_Return_Receipt_Collection_reque__c = Datetime.now().date(); update repair; } catch (Exception e) { System.debug(LoggingLevel.INFO, '*** e: ' + e); res = e.getMessage(); } return res; } // 查找PAE判定记录 @AuraEnabled public static List selectPAEDecisionRecord(String recordId,String recordTypeId){ List res = new List(); try{ res = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_Repair__c =: recordId And RecordType.DeveloperName =: recordTypeId Order by LastModifiedDate desc]; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // 发送邮件 @AuraEnabled public static String sendToETQ(String iflog_Id,BatchIF_Log__c rowDataSFDC, List repairIds,String statu){ List temp = [select id from QIS_Report__c where id in :repairIds ]; if(temp != null && temp.size() > 0){ try { Database.executeBatch(new QISToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu),50); //生成PDF } catch (Exception e) { return '更新QIS报错:'+ e.getMessage(); } }else{ BatchIF_Log__c iflog = new BatchIF_Log__c(); iflog.Type__c = 'sendToETQ'; iflog.ErrorLog__c = ''; iflog.Log__c = 'NFM401WebService start--'; Repair__c updateRe = new Repair__c(); updateRe.Id = repairIds[0]; updateRe.INTERFACE_RECORD_ID__c = null; updateRe.ETQ_UPLOAD_STATUS__c = null; updateRe.ETQ_UPLOAD_MESSAGE__c = null; updateRe.OSH_ConfirmationDate__c = Date.today(); updateRe.OSH_Affirmant__c = UserInfo.getUserId(); updateRe.AWS_Interface_Time__c = Datetime.now(); updateRe.AsyncData__c = true; try{ update updateRe; Database.executeBatch(new RepairToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu)); //生成PDF iflog.Log__c += '\n修理:'+updateRe+' 更新成功'; iflog.Log__c = '\nNFM401WebService end--'; insert iflog; }catch(Exception ex){ iflog.ErrorLog__c += '修理:'+updateRe+' 更新失败,因为::'+ex.getMessage(); iflog.Log__c = '\nNFM401WebService end--'; insert iflog; return '更新修理报错:'+ ex.getMessage(); } } return '发送成功!'; } // 查找AssetID @AuraEnabled public static String selectAssetID(String recordId){ List res = new List(); try{ res = [SELECT Delivered_Product__c from Repair__c WHERE Id =: recordId]; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res[0].Delivered_Product__c; } // 查找删除ID @AuraEnabled public static List selectCustomDeleteById(String recordId){ List res = new List(); try{ res = [SELECT Id, Status__c,SAP_Transfer_time__c, Repair_Ordered_Date__c, CreatedById, Acc_OwnerId__c,FSE_ownerid__c FROM Repair__c WHERE Id =: recordId]; }catch(Exception e){ System.debug(LoggingLevel.INFO, '*** e: ' + e); } return res; } // 查找删除ID @AuraEnabled public static String deleteRepair(String rid) { try { Repair__c r = new Repair__c(Id = rid); delete r; return 'OK'; } catch (Exception e) { return e.getMessage(); } } public class InitData{ @AuraEnabled public String Status1C; @AuraEnabled public String RepairSubOrderC; @AuraEnabled public String OnCallIDC; @AuraEnabled public String QISIDC; @AuraEnabled public String InsReportC; @AuraEnabled public Datetime MBCAwareDateC; @AuraEnabled public String CFDANoHandC; @AuraEnabled public String ProduceCompanyHandC; @AuraEnabled public Boolean OfferRentalNewC; @AuraEnabled public Boolean ifRentalApplyC; @AuraEnabled public Datetime LatestCollectDatePriorityC; @AuraEnabled public String RentalApplyEquipmentSetDetailIdC; @AuraEnabled public String RentalApplyEquipmentSetDetailC; @AuraEnabled public String ProblemOccurredSelectC; @AuraEnabled public String Delay15MinC; @AuraEnabled public String ProductFailureRelatedC; @AuraEnabled public String Id; @AuraEnabled public String OCSMAdministrativeReportNumberC; @AuraEnabled public Datetime OCSMAdministrativeReportDateC; @AuraEnabled public Datetime AwareDateC; @AuraEnabled public String PAEDetermineC; @AuraEnabled public String ETQUPLOADSTATUSC; @AuraEnabled public String AEDetermineResultC; @AuraEnabled public String PAEDetermineACC; @AuraEnabled public Datetime RepairInspectionDateC; @AuraEnabled public boolean ContainUseRSAC; @AuraEnabled public String InchargeStaffEmailC; @AuraEnabled public String Name; @AuraEnabled public String HPNameC; @AuraEnabled public String DeliveredProductC; @AuraEnabled public String RepairProductSerialNoC; @AuraEnabled public String ServiceRepairNoC; @AuraEnabled public Datetime RepairFirstestimatedDateC; @AuraEnabled public Datetime RepairEstimatedDateC; @AuraEnabled public String RCInformationC; @AuraEnabled public String OCSMAdministrativeReportStatusC; @AuraEnabled public Datetime RepairShippedDateC; @AuraEnabled public Datetime partArrangementCompleteC; @AuraEnabled public String userID; @AuraEnabled public String profileId; @AuraEnabled public String userEmail; @AuraEnabled public String PaperRepairRequestNoC; @AuraEnabled public String HospitalC; @AuraEnabled public String AccountC; @AuraEnabled public String DepartmentClassC; @AuraEnabled public String RepairCostTypeC; @AuraEnabled public String DealerC; @AuraEnabled public String InchargeStaffC; @AuraEnabled public String InchargeStaffContactC; @AuraEnabled public String SalesOfficeCodeSelectionC; @AuraEnabled public String OnSiteRepairC; @AuraEnabled public String workLocationSelectC; @AuraEnabled public String ReturnsProductWayC; @AuraEnabled public String RepairDetailC; @AuraEnabled public String RepairApplicantC; @AuraEnabled public String RepairApplicantHospitalC; @AuraEnabled public String RepairApplicantDepartmentC; @AuraEnabled public String DeliveryLogisticsModeC; @AuraEnabled public Datetime engineerSendDateC; @AuraEnabled public String DeliveryLogisticsNoC; @AuraEnabled public String DeliveryLogisticsAnnotationC; @AuraEnabled public Datetime DateReceiptQuestionsC; @AuraEnabled public String BreakORFallOffC; @AuraEnabled public String DelayReportReasonC; @AuraEnabled public String UseFailProductFinishC; @AuraEnabled public String ifDeadHurtC; @AuraEnabled public String SupportingProductsC; @AuraEnabled public String ProblemOccurredC; @AuraEnabled public String AfterFailureInformationC; @AuraEnabled public String InformationFromC; @AuraEnabled public String ReportAdverseEventsC; @AuraEnabled public String FailureQInHospitalC; @AuraEnabled public String WhatProjectC; @AuraEnabled public String OperationOrExaminationNameC; @AuraEnabled public String MaintenanceContractTypeC; @AuraEnabled public Datetime FailureOccurrenceDateC; @AuraEnabled public String RepairSourceC; } }