彭锟
2022-03-24 3a414ec8f1715b3b72e06f8598e08e6a8729ca23
Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG
2个文件已修改
141 ■■■■■ 已修改文件
force-app/main/default/classes/BatchSelectRepairPageController.cls 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/BatchSelectRepairPage.page 68 ●●●●● 补丁 | 查看 | 原始文档 | 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;">&nbsp;</td></tr>
                            <tr>
                                <!-- <td style="text-align: left;padding-right: 100px;">&nbsp;</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;">&nbsp;</td></tr>
                            <tr>
                                <!-- <td style="text-align: left;padding-right: 100px;">&nbsp;</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;">&nbsp;</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>