public with sharing class otherButtonRepairController {
    public otherButtonRepairController() {

    }

    @AuraEnabled
    public static InitData init(String recordId){
        InitData res = new initData();
        try{
            Repair__c report =  [SELECT HP_active__c,AWS_Data_Id__c,SAP_condition__c,DOJ_Status__c,DW_Sign__c,Incharge_Staff__r.Id,URF_Reapir__c,Recall_Correspondence__c,Day_later_30__c,Dealer__r.Id,Status__c,URFLimitSerial__c,Maintenance_Contract__r.Id,FSE_ApplyForRepair_time__c,Delivered_Product__r.Id,Asset_Owner__c,State_Hospital__c,is_aohui_product__c,Sales_Dept_HP__c,RCCD__c,Quick_Repair_Sign__c,RepairSource__c,FSE_State__c,VM_Maintenance_Contract__c,Maintenance_Contract__c,NewProductGuarante_Txt__c,Number_of_EffectiveContract__c,Detailed_Address__c,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.HPActiveC = report.HP_active__c;
            res.detailedAddress = report.Detailed_Address__c;
            res.numberofEffectiveContract = report.Number_of_EffectiveContract__c;
            res.newProductGuaranteTxt = report.NewProductGuarante_Txt__c;
            res.maintenanceContract = report.Maintenance_Contract__c;
            res.VMMaintenanceContract = report.VM_Maintenance_Contract__c;
            res.FSEState = report.FSE_State__c;
            res.repairSource = report.RepairSource__c;
            res.quickRepairSign = report.Quick_Repair_Sign__c;
            res.RCCD = report.RCCD__c;
            res.salesDeptHP = report.Sales_Dept_HP__c;
            res.isAohuiProduct = report.is_aohui_product__c;
            res.stateHospital = report.State_Hospital__c;
            res.assetOwner = report.Asset_Owner__c;
            res.deliveredProductId = report.Delivered_Product__r.Id;
            res.FSEApplyForRepairTime = report.FSE_ApplyForRepair_time__c;
            res.maintenanceContractId = report.Maintenance_Contract__r.Id;
            res.URFLimitSerial = report.URFLimitSerial__c;
            res.status = report.Status__c;
            res.dealerId = report.Dealer__r.Id;
            res.dayLater30 = report.Day_later_30__c;
            res.recallCorrespondence = report.Recall_Correspondence__c;
            res.URFReapir = report.URF_Reapir__c;
            res.inchargeStaffId = report.Incharge_Staff__r.Id;
            res.DWSign = report.DW_Sign__c;
            res.DOJStatus = report.DOJ_Status__c;
            res.SAPcondition = report.SAP_condition__c;
            res.AWSDataId = report.AWS_Data_Id__c;

            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<Repair__c> selectRecords(String recordId){
        List<Repair__c> res = new List<Repair__c>();
        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 String updateRepair(String recordId){
        String res;
        try {
            Repair__c repair = new Repair__c();
            repair.Id = recordid;
            repair.OCSMAdministrativeReportStatus__c = '无需报告';
            update repair;
        } catch (Exception e) {
            System.debug(LoggingLevel.INFO, '*** e: ' + e);
            res=e.getMessage();
        }
        return res;
    } 

    // 修改验收单
    @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<PAE_DecisionRecord__c> selectPAEDecisionRecord(String recordId,String recordTypeId){
        List<PAE_DecisionRecord__c > res = new List<PAE_DecisionRecord__c >();
        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<String> repairIds,String statu){
        List<QIS_Report__c> 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<Repair__c> res = new List<Repair__c>();
        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<Repair__c> selectCustomDeleteById(String recordId){
        List<Repair__c > res = new List<Repair__c >();
        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();
        }
    }

    //通过deliveredProductId作为Id查询Asset的记录并返回
    @AuraEnabled
    public static List<Asset> queryForEquipments(String deliveredProductId){
        try {
             List<Asset> assets = [SELECT Id, Status FROM Asset WHERE Id = :deliveredProductId];
            return assets;
        } catch (Exception e) {
         throw new AuraHandledException(e.getMessage());
        }
    }

    //通过Maintenance_Contract__c和Asset__c字段查询Maintenance_Contract_Asset__c的记录并返回
    @AuraEnabled
    public static List<Maintenance_Contract_Asset__c> queryForUrfAsset(String maintenanceContractId,String deliveredProductId){
         try {
            List<Maintenance_Contract_Asset__c> assets = [SELECT Id,URF_Series_F__c,Series_MaxRepairCount_F__c,Series_RepairCount_F__c FROM Maintenance_Contract_Asset__c WHERE Maintenance_Contract__c =:maintenanceContractId and Asset__c=:deliveredProductId];
            return assets;
        } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
        }
    }

    //通过URFLimitSerial作为Id查询ProductURF__c的记录并返回
    @AuraEnabled
    public static List<ProductURF__c> queryForUrfSeriesInfo(String URFLimitSerial){
        try {
             List<ProductURF__c> urfs = [SELECT Id,URFLimitSerial__c FROM ProductURF__c WHERE ID=:URFLimitSerial]; 
             return urfs;
         } catch (Exception e) {
         throw new AuraHandledException(e.getMessage());
         }
    }

    //通过Maintenance_Contract__c，Status1__c和Delivered_Product__r.Product2.ProductURF__r.URFLimitSerial__c字段查询Repair__c中的记录并返回
    @AuraEnabled
    public static List<Repair__c> queryForRepairCount(String maintenanceContractId,String status1,String URFLimitSerial){
        try {
            List<Repair__c> repairs = [SELECT Id,name FROM Repair__c WHERE Maintenance_Contract__c=:maintenanceContractId AND Status1__c=:status1 AND Delivered_Product__r.Product2.ProductURF__r.URFLimitSerial__c = :URFLimitSerial];
            return repairs;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }    
    }

    //通过Is_Validity__c和Id字段查询Account的记录并返回
    @AuraEnabled
    public static List<Account> queryForFindInvalidLicense(String dealerId){
        try {
            List<Account> accounts = [select Id,Is_Validity__c from Account where Is_Validity__c = false And Id = :dealerId];
            return accounts;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
    }

    //通过inchargeStaffId作为Id查询User中的记录并返回
    @AuraEnabled
    public static List<User> queryForReocrds(String inchargeStaffId){
        try {
            List<User> users = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :inchargeStaffId]; 
            return users;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
    }

    //通过Id查询Repair__c中的记录并返回
    @AuraEnabled
    public static List<Repair__c> queryForRds(String recordId){
        try {
            List<Repair__c> res = [SELECT Id,NewProductGuarante_Formula__c,ProductGuarante_Create__c FROM Repair__c WHERE Id = :recordId]; 
            return res;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
    }

    //通过Id查询Repair__c中的Dealer__c，再根据Dealer__c查询Account中的记录并返回
    @AuraEnabled
    public static List<Account> queryForrecords3(String dealer){
        try {
           List<Account> accounts = [SELECT id, FirstParagraph__c from Account where name =:dealer]; 
           return accounts;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
    }

    //更新Repair__c中的记录，将Maintenance_Contract__c和MaintenanceContractType__c字段更新为空，若捕获到异常则返回错误信息
    @AuraEnabled
    public static String updateForRepair1(String recordId){
        String res='';
        try {
            Repair__c repair = new Repair__c();
            repair.Id = recordId;
            repair.Maintenance_Contract__c = null;
            repair.MaintenanceContractType__c = null;
            update repair;
            return null;
        } catch (Exception e) {
            res = e.getMessage();
        }
        return res;
    }

    //更新Repair__c中的记录，若捕获到异常则返回错误信息
    @AuraEnabled
    public static String updateRepair2(String recordId,User staff,Boolean DWSign,String statusc,String DOJStatus,String SAPcondition){
        String res='';
        try {
            Repair__c repair = new Repair__c();
            repair.Id = recordId;
            repair.JingliApprovalManager__c =
            staff.JingliApprovalManager__c == null
              ? staff.Id
              : staff.JingliApprovalManager__c;
          repair.BuchangApprovalManager__c =
            staff.BuchangApprovalManager__c == null
              ? staff.Id
              : staff.BuchangApprovalManager__c;
          repair.ZongjianApprovalManager__c =
            staff.ZongjianApprovalManager__c == null
              ? staff.Id
              : staff.ZongjianApprovalManager__c;
          repair.FSE_ApplyForRepair_time__c = Datetime.now();
          repair.DW_Sign_Txt__c = DWSign; //20210608 ljh SFDC-C3CCN4 end
          repair.Status__c = statusc;
          repair.Service_contract_judege_day__c = Date.today();
          if (
            DOJStatus == LightingButtonConstant.REPAIR_FIELD_DOJ_STATUS_NOT_OBJECT &&
            SAPcondition == LightingButtonConstant.REPAIR_FIELD_SAP_CONDITION_IS_TRUE
          ) {
            repair.SAP_Transfer_time__c = Datetime.now();
          }
          update repair;
        } catch (Exception e) {
             res = e.getMessage();
        }
        return res;
    }

     // 查找简档
     @AuraEnabled
     public static List<Profile> initSelectProfile(String profileId){
         List<Profile> res = new List<Profile>();
         try{
             res = [SELECT Id,name FROM Profile WHERE Id=: profileId ];
         }catch(Exception e){
             System.debug(LoggingLevel.INFO, '*** e: ' + e);
         }
         return res;
     }

      // 查找UserName
      @AuraEnabled
      public static List<User> initUserName(String userId){
          List<User> res = new List<User>();
          try{
              res = [SELECT Id,name FROM User WHERE Id=: userId ];
          }catch(Exception e){
              System.debug(LoggingLevel.INFO, '*** e: ' + e);
          }
          return res;
      }

    public class InitData{
        @AuraEnabled
        public String HPActiveC;
        @AuraEnabled
        public String detailedAddress;
        @AuraEnabled
        public String numberofEffectiveContract;
        @AuraEnabled
        public String newProductGuaranteTxt;
        @AuraEnabled
        public String maintenanceContract;
        @AuraEnabled
        public String VMMaintenanceContract;
        @AuraEnabled
        public String FSEState;
        @AuraEnabled
        public String repairSource;
        @AuraEnabled
        public Boolean quickRepairSign;
        @AuraEnabled
        public String RCCD;
        @AuraEnabled
        public String salesDeptHP;
        @AuraEnabled
        public Boolean isAohuiProduct;
        @AuraEnabled
        public String stateHospital;
        @AuraEnabled
        public String assetOwner;
        @AuraEnabled
        public String deliveredProductId;
        @AuraEnabled
        public Datetime FSEApplyForRepairTime;
        @AuraEnabled
        public String maintenanceContractId;
        @AuraEnabled
        public String URFLimitSerial;
        @AuraEnabled
        public String status;
        @AuraEnabled
        public String dealerId;
        @AuraEnabled
        public String dayLater30;
        @AuraEnabled
        public Boolean recallCorrespondence;
        @AuraEnabled
        public Boolean URFReapir;
        @AuraEnabled
        public String inchargeStaffId;
        @AuraEnabled
        public Boolean DWSign;
        @AuraEnabled
        public String DOJStatus;
        @AuraEnabled
        public String SAPcondition;
        @AuraEnabled
        public String AWSDataId;
        
        @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;
     }
}