force-app/main/default/classes/BatchSelectRepairPageController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/BatchSelectRepairPage.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/BatchSelectRepairPageController.cls
@@ -15,46 +15,77 @@ RevalInfo = new RetrievalData(); } public List<SelectOption> getStatusItems() { List<SelectOption> options = new List<SelectOption>(); options.add(new SelectOption('','--无--')); options.add(new SelectOption('草案中','草案中')); options.add(new SelectOption('1.受理完毕','1.受理完毕')); options.add(new SelectOption('2.维修报价阶段','2.维修报价阶段')); options.add(new SelectOption('3.维修阶段','3.维修阶段')); options.add(new SelectOption('4.修理品返送阶段','4.修理品返送阶段')); options.add(new SelectOption('5.完毕','5.完毕')); options.add(new SelectOption('0.取消','0.取消')); options.add(new SelectOption('0.删除','0.删除')); options.add(new SelectOption('0.申请完毕','0.申请完毕')); return options; } public List<SelectOption> getSiteRepairItems() { List<SelectOption> options = new List<SelectOption>(); options.add(new SelectOption('','--无--')); options.add(new SelectOption('RC修理','RC修理')); options.add(new SelectOption('直送SORC修理','直送SORC修理')); options.add(new SelectOption('直送OGZ修理','直送OGZ修理')); options.add(new SelectOption('办事处修理','办事处修理')); options.add(new SelectOption('现场修理','现场修理')); return options; } public PageReference RetrievalBtn() { RepairList = new List<Repair__c>(); RAInfoList = new List<RepairData>(); if(String.isBlank(RevalInfo.Status2) && String.isBlank(RevalInfo.RepairName) && String.isBlank(RevalInfo.SAPRepairNo) && String.isBlank(RevalInfo.SerialNumber) && String.isBlank(RevalInfo.repair.Incharge_Staff__c) && String.isBlank(String.valueOf(RevalInfo.repair.Final_complete_day__c))){ if(String.isBlank(RevalInfo.Status1) && String.isBlank(RevalInfo.RepairName) && String.isBlank(RevalInfo.SAPRepairNo) && String.isBlank(RevalInfo.SerialNumber) && String.isBlank(RevalInfo.repair.Incharge_Staff__c) && String.isBlank(RevalInfo.onSiteRepair) && String.isBlank(String.valueOf(RevalInfo.repair.Aware_date__c)) && String.isBlank(RevalInfo.workLocationSelect)){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请至少添加一个检索条件!')); return null; } String 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(RevalInfo.Status2)){ sql += ' and Status2__c like \'%' + RevalInfo.Status2 + '%\' '; if(String.isNotBlank(RevalInfo.Status1)){ sql += ' and Status1__c = \'' + RevalInfo.Status1 + '\''; } if(String.isNotBlank(RevalInfo.RepairName)){ sql += ' and Name like \'%' + RevalInfo.RepairName + '%\' '; sql += ' and Name like \'%' + RevalInfo.RepairName + '%\''; } if(String.isNotBlank(RevalInfo.SAPRepairNo)){ sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo + '%\' '; sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo + '%\''; } if(String.isNotBlank(RevalInfo.SerialNumber)){ sql += ' and SerialNumber__c like \'%' + RevalInfo.SerialNumber + '%\' '; sql += ' and SerialNumber__c like \'%' + RevalInfo.SerialNumber + '%\''; } if(String.isNotBlank(RevalInfo.repair.Incharge_Staff__c)){ sql += ' and Incharge_Staff__c = \'' + RevalInfo.repair.Incharge_Staff__c + '\' '; sql += ' and Incharge_Staff__c = \'' + RevalInfo.repair.Incharge_Staff__c + '\''; } if(String.isNotBlank(String.valueof(RevalInfo.repair.Final_complete_day__c))){ String day = String.valueof(RevalInfo.repair.Final_complete_day__c); if(String.isNotBlank(String.valueof(RevalInfo.repair.Aware_date__c))){ String day = String.valueof(RevalInfo.repair.Aware_date__c); day = day.substring(0,10); sql += ' and FSE_ApplyForRepair_Day__c = ' + day; } sql += ' limit 201'; if(String.isNotBlank(RevalInfo.onSiteRepair)){ sql += ' and On_site_repair__c = \'' + RevalInfo.onSiteRepair + '\''; } if(String.isNotBlank(RevalInfo.workLocationSelect)){ sql += ' and work_location_select__c like \'%' + RevalInfo.workLocationSelect + '%\''; } sql += ' limit 200'; System.debug('sql1:' + sql); if(String.isNotBlank(sql)){ RepairList = Database.query(sql); } if(RepairList.size() > 200){ if(RepairList.size() == 200){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '检索数据太多,请缩小检索范围!')); return null; } if(RepairList.size() <= 0){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '没检索到任何修理')); @@ -108,6 +139,16 @@ public static PageReference generateAttachment(List<Repair__c> repList){ PageReference pdfPage; List<Attachment> attachments = new List<Attachment>(); List<String> attachmentNameList = new List<String>(); List<Attachment> isGeneratedPDFList = new List<Attachment>(); //删除已存在的附件,生成新的附件 for(Repair__c re : repList){ attachmentNameList.add(re.name + '_' + 'MaintenanceCommission.pdf'); } isGeneratedPDFList = [select id from Attachment where name IN:attachmentNameList]; if(isGeneratedPDFList.size() > 0){ delete isGeneratedPDFList; } for(Repair__c re : repList){ pdfPage = new PageReference('/apex/MaintenanceCommissionPDF?id=' + re.Id); Blob pdfBody; @@ -127,10 +168,12 @@ } public class RetrievalData { public String Status2{ get; set; } public String Status1{ get; set; } public String RepairName{ get; set; } public String SAPRepairNo{ get; set; } public String SerialNumber{ get; set; } public String onSiteRepair{ get; set; } public String workLocationSelect{ get; set; } public Repair__c repair{ get; set; } public RetrievalData(){ repair = new Repair__c(); force-app/main/default/pages/BatchSelectRepairPage.page
@@ -55,36 +55,16 @@ //全选功能 function checkAll() { var cnt = j$(escapeVfId('raCnt')).val(); if (j$(escapeVfId('Page:allForm:allBlock:j_id56:checkAll')).attr('checked') == 'checked') { if (j$(escapeVfId('Page:allForm:allBlock:j_id66:checkAll')).attr('checked') == 'checked') { for (var i = 0; i < cnt; i++) { j$(escapeVfId('Page:allForm:allBlock:j_id56:records:' + i + ':checklist')).attr('checked',true); j$(escapeVfId('Page:allForm:allBlock:j_id66:records:' + i + ':checklist')).attr('checked',true); } } else { for (var i = 0; i < cnt; i++) { j$(escapeVfId('Page:allForm:allBlock:j_id56:records:' + i + ':checklist')).attr('checked',false); j$(escapeVfId('Page:allForm:allBlock:j_id66:records:' + i + ':checklist')).attr('checked',false); } } } //检索功能 // function RetrievalBtnJS() { // var RepairName = j$(escapeVfId("Page:Form:Block:RAInfoList:0:RepairName")).value(); // var SAPRepairNo = j$(escapeVfId("Page:Form:Block:RAInfoList:0:SAPRepairNo")).value(); // var HospitalName = j$(escapeVfId("Page:Form:Block:RAInfoList:0:HospitalName")).value(); // blockme(); // RetrievalBtn(); // } //跳转打印PDF页面 // function showPDFJS() { // blockme(); // showPDF(); // var raIdList = j$(escapeVfId('raIdList')).val(); // if(raIdList != null && raIdList != ''){ // var Id = raIdList.split(); // for(var i = 0; i < Id.size(); i++){ // window.open('apex/MaintenanceCommissionPDF?id=' + Id[i]); // } // } // } </script> <apex:form id="allForm" style="margin: 10px 10px;"> <apex:actionFunction name="RetrievalBtn" action="{!RetrievalBtn}" rerender="Form, message" onComplete="unblockUI();"/> @@ -100,46 +80,60 @@ <table> <tr><td style="text-align: left;padding-right: 100px;"> </td></tr> <tr> <!-- <td style="text-align: left;padding-right: 100px;"> </td> --> <td style="text-align: right; width:200px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="状态2"/> <td style="text-align: right; width:100px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="状态1"/> </td> <td style="text-align: left;"> <apex:inputText id="Status2" value="{!RevalInfo.Status2}"/> <td style="text-align: left;position: relative; top: 7px;"> <apex:selectList value="{!RevalInfo.Status1}" size="1" style="width: 150px; height: 24px;"> <apex:selectOptions value="{!StatusItems}"/> </apex:selectList><p/> </td> <td style="text-align: right; width:200px;"> <td style="text-align: right; width:150px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="RS修理单号"/> </td> <td style="text-align: left;"> <apex:inputText id="RepairName" value="{!RevalInfo.RepairName}"/> </td> <td style="text-align: right; width:150px;"> <td style="text-align: right; width:130px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="SAP修理单号"/> </td> <td style="text-align: left;padding-right: 100px;"> <td style="text-align: left;padding-right: 70px;"> <apex:inputText id="SAPRepairNo" value="{!RevalInfo.SAPRepairNo}"/> </td> <td style="text-align: right; width:60px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="服务方式"/> </td> <td style="text-align: left;position: relative; top: 7px;"> <apex:selectList value="{!RevalInfo.onSiteRepair}" size="1" style="width: 150px; height: 24px;"> <apex:selectOptions value="{!SiteRepairItems}"/> </apex:selectList><p/> </td> </tr> <tr><td style="text-align: left;padding-right: 100px;"> </td></tr> <tr> <!-- <td style="text-align: left;padding-right: 100px;"> </td> --> <td style="text-align: right; width:100px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="机身编码"/> </td> <td style="text-align: left;"> <apex:inputText id="SerialNumber" value="{!RevalInfo.SerialNumber}"/> </td> <td style="text-align: right; width:200px;"> <td style="text-align: right; width:150px;"> <apex:outputLabel style="font-weight: bold; " value="修理委托者"/> </td> <td style="text-align: left;"> <apex:inputField id="InchargeStaffName" value="{!RevalInfo.repair.Incharge_Staff__c}"/> </td> <td style="text-align: right; width:150px;"> <td style="text-align: right; width:130px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="FSE申请日"/> </td> <td style="text-align: left;padding-right: 80px;"> <apex:inputField id="FSE_ApplyForRepair_Day" value="{!RevalInfo.repair.Final_complete_day__c}"/> <td style="text-align: left;padding-right: 50px;"> <apex:inputField id="FSE_ApplyForRepair_Day" value="{!RevalInfo.repair.Aware_date__c}"/> </td> <td style="text-align: right; width:60px;"> <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="维修中心"/> </td> <td style="text-align: left;"> <apex:inputText id="workLocationSelect" value="{!RevalInfo.workLocationSelect}"/> </td> </tr> <tr><td style="text-align: left;padding-right: 100px;"> </td></tr> @@ -150,7 +144,6 @@ </tr> </table> </apex:pageBlock> <!-- <div style="font-size:12px;"> --> <apex:pageBlock title="详细信息" > <input type="hidden" id="raCnt" value="{!RACount}" /> <apex:commandButton style="width:80px;" value="打印PDF" action="{!showPDF}" onclick="blockme();" reRender="allForm,message" onComplete="unblockUI();"/> @@ -227,7 +220,6 @@ </table> </div> </apex:pageBlock> <!-- </div> --> </div> </apex:pageBlock> </apex:outputPanel>