unknown
2023-08-23 50ce6a5e5ae7ac6ce3e6281acca9a0db568306e6
force-app/main/default/classes/lexBatchSelectRepairLWCController.cls
@@ -7,7 +7,6 @@
    public static List<Repair__c> RepairList;
    public static List<RepairData> RAInfoList;
    public static List<String> repairIdList;
    // public static String pdfURL;
    //查询Repair数据
    @AuraEnabled
@@ -16,7 +15,6 @@
        //2023/04/07 LWC
        ReturnData returnData = new ReturnData();
        RetrievalData RevalInfo = (RetrievalData)System.JSON.deserialize(json,RetrievalData.class);
        System.debug(LoggingLevel.INFO, '*** RevalInfo: ' + RevalInfo);
        //pageController 逻辑
        RepairList = new List<Repair__c>();
@@ -25,7 +23,6 @@
            && 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(String.valueOf(RevalInfo.repair.Aware_date2__c)) && String.isBlank(RevalInfo.workLocationSelect)
            && String.isBlank(RevalInfo.State_Hospital)){
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请至少添加一个检索条件!'));
            return null;
        }
        // 2023/04/10 add 型号,修理委托者 名称
@@ -43,7 +40,6 @@
            sql += ' and HP_Name__c like \'%' + RevalInfo.HospitalName.trim() + '%\'';
        }
        if(String.isNotBlank(RevalInfo.RepairName)){
            System.debug(LoggingLevel.INFO, '***RevalInfo.RepairName.contains(): ' + RevalInfo.RepairName.contains(' '));
            String splitStr = null;
            if(RevalInfo.RepairName.contains(' ')){
                splitStr = ' ';
@@ -61,10 +57,8 @@
            }else{
                sql += ' and Name like \'%' + RevalInfo.RepairName.trim() + '%\'';
            }
            System.debug(LoggingLevel.INFO, '*** sql: ' + sql);
        }
        if(String.isNotBlank(RevalInfo.SAPRepairNo)){
            System.debug(LoggingLevel.INFO, '***RevalInfo.SAPRepairNo.contains(): ' + RevalInfo.SAPRepairNo.contains(' '));
            String splitStr = null;
            if(RevalInfo.SAPRepairNo.contains(' ')){
                splitStr = ' ';
@@ -83,14 +77,12 @@
            }else{
                sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo.trim() + '%\'';
            }
            System.debug(LoggingLevel.INFO, '*** sql: ' + sql);
        }
        if(String.isNotBlank(RevalInfo.SerialNumber)){
            List<String> SerialNumberList = new List<String>();
            if(RevalInfo.SerialNumber.indexOf(',') != -1){
                SerialNumberList = RevalInfo.SerialNumber.split(',');
            }
            System.debug('SerialNumberList1:' + SerialNumberList);
            // 支持模糊查询多个,文本框输入用英文半角逗号分隔
            if(SerialNumberList.size() > 0){
                sql += ' and (SerialNumber__c like \'%';
@@ -126,7 +118,6 @@
            if(RevalInfo.workLocationSelect.indexOf(',') != -1){
                workLocationSelectList = RevalInfo.workLocationSelect.split(',');
            }
            System.debug('workLocationSelectList1:' + workLocationSelectList);
            if(workLocationSelectList.size() > 0){
                sql += ' and (work_location_select__c like \'%';
                Integer i = 0;
@@ -147,17 +138,14 @@
            sql += ' and State_Hospital__c like \'%' + RevalInfo.State_Hospital.trim() + '%\'';
        }
        sql += 'and Status1__c not in(\'0.删除\',\'0.取消\') limit 200';
        System.debug('sql1LWC:' + sql);
        if(String.isNotBlank(sql)){
            RepairList = Database.query(sql);
        }
        if(RepairList.size() == 200){
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '检索数据太多,请缩小检索范围!'));
            //2023/04/07 returnData
            returnData.status = '检索数据太多,请缩小检索范围!';
        }
        if(RepairList.size() <= 0){
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '没检索到任何修理'));
            //2023/04/07 returnData
            returnData.status = '没检索到任何修理';
            return returnData;
@@ -166,17 +154,14 @@
            RepairData raData = new RepairData(ra);
            RAInfoList.add(raData);
        }
        // return RAInfoList;
        returnData.repairData = RAInfoList;
        System.debug(LoggingLevel.INFO, '*** returnData: ' + returnData);
        return returnData;
    }
    //打印PDF  
    @AuraEnabled
    public static String showPDF(String json) {
        System.debug(LoggingLevel.INFO, '*** joinshoPDF: ');
        List<Repair__c> RepairList = (List<Repair__c>)System.JSON.deserialize(json,List<Repair__c>.class);
        if(RepairList == null || RepairList.isEmpty()){
@@ -184,39 +169,18 @@
        }
        repairIdList = new List<String>();
        for(Repair__c rd : RepairList) {
            System.debug(LoggingLevel.INFO, '*** rd: ' + rd);
                repairIdList.add(rd.Id);
        }
        // RepairList = new List<Repair__c>();
        String url = '=';
        /*System.debug('RAInfoList:' + RAInfoList);
        if(RAInfoList == null || RAInfoList.isEmpty()){
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请先检索修理'));
            return '请先检索修理';
        }*/
        /*for(RepairData rd : RAInfoList) {
            System.debug(LoggingLevel.INFO, '*** rd: ' + rd);
            //选中的repair
            if(rd.IFCheck){
                repairIdList.add(rd.repair.Id);
                RepairList.add(rd.repair);
            }
        }*/
        System.debug(LoggingLevel.INFO, '***repairIdList : ' + repairIdList);
        System.debug(LoggingLevel.INFO, '***RepairList : ' + RepairList);
        if(repairIdList.size() > 0){
            if(repairIdList.size() <= 50){
                if(RepairList.size() > 0){
                    System.debug(LoggingLevel.INFO, '*** if size>0 generateAttachment: ');
                    generateAttachment(RepairList);
                }
                for(String Id : repairIdList){
                    url += Id + '=';
                }
                url = url.substring(0, url.lastIndexOf('='));
                // PageReference pageRef = new PageReference('/apex/MaintenanceCommissionPDF?id' + url);
                // pageRef.setRedirect(true);
                // return pageRef;
                String pdfURL = '';
                if(isSandbox()){
                    pdfURL = 'https://ocsm--stagefull--c.visualforce.com/apex/MaintenanceCommissionPDF?id' + url;
@@ -225,18 +189,15 @@
                }
                return pdfURL;
            } else{
                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '多单打印最大数量为50,请选择少于50个修理!'));
                return '多单打印最大数量为50,请选择少于50个修理!';
            }
        } else{
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '请至少选择一个修理'));
            return '请至少选择一个修理';
        }
    }
    // 生成pdf添加到对应的修理中
    public static PageReference generateAttachment(List<Repair__c> repList){
        System.debug(LoggingLevel.INFO, '*** generateAttachment: ');
        BatchSelectRepairPDFDelete pdf = new BatchSelectRepairPDFDelete();
        pdf.deletePDF(repList);
        pdf.createPDF(repList);