| | |
| | | public void init(){ |
| | | RetrievalData reval = new RetrievalData(); |
| | | RevalInfoList = new List<RetrievalData>(); |
| | | reval.RepairName = null; |
| | | reval.SAPRepairNo = null; |
| | | reval.HospitalName = null; |
| | | RevalInfoList.add(reval); |
| | | } |
| | | |
| | | public PageReference RetrievalBtn() { |
| | | RepairList = new List<Repair__c>(); |
| | | RAInfoList = new List<RepairData>(); |
| | | String RepairName; |
| | | String SAPRepairNo; |
| | | String HospitalName; |
| | | String sql; |
| | | System.debug('RevalInfoList1:' + RevalInfoList); |
| | | for(RetrievalData reval : RevalInfoList){ |
| | | if(String.isBlank(reval.Status2) && String.isBlank(reval.RepairName) && String.isBlank(reval.SAPRepairNo) |
| | | && String.isBlank(reval.SerialNumber) && String.isBlank(reval.repair.Incharge_Staff__c) |
| | | && String.isBlank(String.valueOf(reval.repair.Final_complete_day__c))){ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请至少添加一个检索条件!')); |
| | | return null; |
| | | } |
| | | sql += 'select Id, Name, SAP_Service_Repair_No__c, Status1__c, Status2__c, Delivered_Product__c, SerialNumber__c, '; |
| | | sql += 'HP_Name__c, State_Hospital__c, Incharge_Staff__c, FSE_ApplyForRepair_Day__c, work_location_select__c, On_site_repair__c,'; |
| | | sql += 'Number_of_EffectiveContract__c, NewProductGuaranteeObject__c from Repair__c where Id != null '; |
| | | if(String.isNotBlank(reval.Status2)){ |
| | | sql += ' and Status2__c like \'%' + reval.Status2 + '%\' '; |
| | | } |
| | | if(String.isNotBlank(reval.RepairName)){ |
| | | RepairName = reval.RepairName; |
| | | sql += ' and Name like \'%' + reval.RepairName + '%\' '; |
| | | } |
| | | if(String.isNotBlank(reval.SAPRepairNo)){ |
| | | SAPRepairNo = reval.SAPRepairNo; |
| | | sql += ' and SAP_Service_Repair_No__c like \'%' + reval.SAPRepairNo + '%\' '; |
| | | } |
| | | if(String.isNotBlank(reval.HospitalName)){ |
| | | HospitalName = reval.HospitalName; |
| | | if(String.isNotBlank(reval.SerialNumber)){ |
| | | sql += ' and SerialNumber__c like \'%' + reval.SerialNumber + '%\' '; |
| | | } |
| | | if(String.isNotBlank(reval.repair.Incharge_Staff__c)){ |
| | | sql += ' and Incharge_Staff__c = \'' + reval.repair.Incharge_Staff__c + '\' '; |
| | | } |
| | | if(String.isNotBlank(String.valueof(reval.repair.Final_complete_day__c))){ |
| | | String day = String.valueof(reval.repair.Final_complete_day__c); |
| | | day = day.substring(0,10); |
| | | sql += ' and FSE_ApplyForRepair_Day__c = ' + day; |
| | | } |
| | | sql += ' limit 200'; |
| | | sql = sql.substring(4); |
| | | } |
| | | System.debug('RepairName1:' + RepairName); |
| | | if(String.isBlank(RepairName) && String.isBlank(SAPRepairNo) && String.isBlank(HospitalName)){ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请至少添加一个检索条件!')); |
| | | return null; |
| | | System.debug('sql1:' + sql); |
| | | if(String.isNotBlank(sql)){ |
| | | RepairList = Database.query(sql); |
| | | } |
| | | String sql = 'select Id, Name, SAP_Service_Repair_No__c, HP_Name__c, Department_Name__c from Repair__c '; |
| | | if(String.isNotBlank(RepairName)){ |
| | | sql += ' where Name like \'%' + RepairName.trim() + '%\''; |
| | | if(String.isNotBlank(SAPRepairNo)){ |
| | | sql += ' and SAP_Service_Repair_No__c like \'%' + SAPRepairNo.trim() + '%\''; |
| | | if(String.isNotBlank(HospitalName)){ |
| | | sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')'; |
| | | } |
| | | } else if(String.isNotBlank(HospitalName)) { |
| | | sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')'; |
| | | } |
| | | } else if(String.isNotBlank(SAPRepairNo)){ |
| | | sql += ' where SAP_Service_Repair_No__c like \'%' + SAPRepairNo.trim() + '%\''; |
| | | if(String.isNotBlank(HospitalName)){ |
| | | sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')'; |
| | | } |
| | | } else if(String.isNotBlank(HospitalName)){ |
| | | sql += ' where HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\''; |
| | | } |
| | | sql += ' limit 5000'; |
| | | RepairList = Database.query(sql); |
| | | if(RepairList.size() >= 5000 ){ |
| | | if(RepairList.size() >= 200 ){ |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '检索数据太多,请缩小检索范围')); |
| | | return null; |
| | | } |
| | |
| | | for(String Id : repairIdList){ |
| | | url += Id + '='; |
| | | } |
| | | System.debug('url1:'+url); |
| | | url = url.substring(0, url.lastIndexOf('=')); |
| | | System.debug('url2:'+url); |
| | | PageReference pageRef = new PageReference('/apex/MaintenanceCommissionPDF?id' + url); |
| | | pageRef.setRedirect(true); |
| | | return pageRef; |
| | |
| | | } |
| | | |
| | | public class RetrievalData { |
| | | public String Status2{ get; set; } |
| | | public String RepairName{ get; set; } |
| | | public String SAPRepairNo{ get; set; } |
| | | public String HospitalName{ get; set; } |
| | | public String SerialNumber{ get; set; } |
| | | // public String FSE_ApplyForRepair_Day{ get; set; } |
| | | // public String InchargeStaffName{ get; set; } |
| | | public Repair__c repair{ get; set; } |
| | | public RetrievalData(){ |
| | | repair = new Repair__c(); |
| | | } |
| | | } |
| | | |
| | | public class RepairData { |